git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@50874 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
121
Data/BulkLoad/EFT/Nominations/plsql/cama_support.bdy
Normal file
121
Data/BulkLoad/EFT/Nominations/plsql/cama_support.bdy
Normal file
@@ -0,0 +1,121 @@
|
||||
CREATE OR REPLACE PACKAGE BODY EFT_NOM.cama_support IS
|
||||
|
||||
g_header CONSTANT VARCHAR2(160) := '$Header: /Isle Of Grain/database/PLSQL/cama_support.pck 1 7/01/05 12:54 Gilberta $';
|
||||
g_revision CONSTANT VARCHAR2(160) := '$Revision: 1 $';
|
||||
|
||||
---
|
||||
-- S E T S E Q U E N C E
|
||||
---
|
||||
PROCEDURE set_sequence(p_sequence_name IN VARCHAR2
|
||||
,p_value IN NUMBER) IS
|
||||
--
|
||||
v_increment NUMBER;
|
||||
v_dummy NUMBER;
|
||||
--
|
||||
PRAGMA AUTONOMOUS_TRANSACTION;
|
||||
--
|
||||
BEGIN
|
||||
--
|
||||
dbms_output.put_line('ready for ' || p_sequence_name);
|
||||
FOR v_sequence IN (SELECT us.increment_by
|
||||
,us.last_number
|
||||
,us.min_value
|
||||
,us.max_value
|
||||
FROM user_sequences us
|
||||
WHERE us.sequence_name = upper(p_sequence_name) AND
|
||||
us.last_number != p_value - 1) LOOP
|
||||
v_increment := p_value - v_sequence.last_number;
|
||||
dbms_output.put_line('last is ' || v_sequence.last_number ||
|
||||
' inc was ' || v_sequence.increment_by ||
|
||||
' will be ' || v_increment);
|
||||
IF (p_value - 1) BETWEEN v_sequence.min_value AND
|
||||
v_sequence.max_value THEN
|
||||
EXECUTE IMMEDIATE 'alter sequence ' || p_sequence_name ||
|
||||
' increment by ' || v_increment;
|
||||
EXECUTE IMMEDIATE 'select ' || p_sequence_name ||
|
||||
'.nextval FROM dual'
|
||||
INTO v_dummy;
|
||||
dbms_output.put_line('inc is ' || v_increment || ' nextval is ' ||
|
||||
v_dummy);
|
||||
EXECUTE IMMEDIATE 'alter sequence ' || p_sequence_name ||
|
||||
' increment by ' || v_sequence.increment_by;
|
||||
EXECUTE IMMEDIATE 'select ' || p_sequence_name ||
|
||||
'.nextval FROM dual'
|
||||
INTO v_dummy;
|
||||
dbms_output.put_line('inc is ' || v_sequence.increment_by ||
|
||||
' nextval is ' || v_dummy);
|
||||
ELSE
|
||||
dbms_output.put_line((p_value - 1) || ' is not between ' ||
|
||||
v_sequence.min_value || ' and ' ||
|
||||
v_sequence.max_value);
|
||||
END IF;
|
||||
END LOOP;
|
||||
dbms_output.put_line('finished with ' || p_sequence_name);
|
||||
COMMIT;
|
||||
--
|
||||
END set_sequence;
|
||||
|
||||
PROCEDURE recompile(status_in IN VARCHAR2 := 'INVALID'
|
||||
,name_in IN VARCHAR2 := '%'
|
||||
,type_in IN VARCHAR2 := '%'
|
||||
,schema_in IN VARCHAR2 := USER) IS
|
||||
--
|
||||
v_objtype VARCHAR2(100);
|
||||
--
|
||||
CURSOR obj_cur IS
|
||||
SELECT owner
|
||||
,object_name
|
||||
,object_type
|
||||
FROM all_objects
|
||||
WHERE (status LIKE upper(status_in) OR upper(status_in) = 'ALL') AND
|
||||
object_name LIKE upper(name_in) AND object_name != 'RECOMPILE' AND
|
||||
object_type LIKE upper(type_in) AND
|
||||
owner LIKE upper(schema_in) AND
|
||||
object_type IN ('PACKAGE', 'FUNCTION', 'PROCEDURE',
|
||||
'PACKAGE BODY', 'TRIGGER', 'VIEW')
|
||||
ORDER BY decode(object_type
|
||||
,'PACKAGE'
|
||||
,1
|
||||
,'FUNCTION'
|
||||
,2
|
||||
,'PROCEDURE'
|
||||
,3
|
||||
,'PACKAGE BODY'
|
||||
,4
|
||||
,'TRIGGER'
|
||||
,5
|
||||
,'VIEW'
|
||||
,6);
|
||||
|
||||
|
||||
BEGIN
|
||||
FOR rec IN obj_cur LOOP
|
||||
BEGIN
|
||||
IF rec.object_type = 'PACKAGE' THEN
|
||||
v_objtype := 'PACKAGE SPECIFICATION';
|
||||
ELSE
|
||||
v_objtype := rec.object_type;
|
||||
END IF;
|
||||
|
||||
dbms_ddl.alter_compile(v_objtype
|
||||
,rec.owner
|
||||
,rec.object_name);
|
||||
|
||||
dbms_output.put_line(substr('Compiled ' || v_objtype || ' of ' ||
|
||||
rec.owner || '.' || rec.object_name
|
||||
,1
|
||||
,2000));
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
dbms_output.put_line(substr('Unable to compile ' || rec.owner || '.' ||
|
||||
rec.object_name || '(' || v_objtype || ')' ||
|
||||
SQLERRM(SQLCODE)
|
||||
,1
|
||||
,2000));
|
||||
END;
|
||||
END LOOP;
|
||||
END recompile;
|
||||
|
||||
END cama_support;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user