git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@50874 248e525c-4dfb-0310-94bc-949c084e9493

This commit is contained in:
andrew.gilmore
2012-03-19 11:57:19 +00:00
parent 2a0f4900c3
commit 0e9ca75d77
1587 changed files with 500863 additions and 0 deletions

View 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;
/