Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Create or replace package body TEST_procedures_pkg as
- PROCEDURE TEST_procedures_pkga IS
- object_name VARCHAR2(255);
- CURSOR c1 IS(
- select procedure_name
- from user_procedures
- where object_name = 'PRODCEDURE');
- BEGIN
- OPEN c1;
- LOOP
- FETCH c1 INTO object_name;
- --
- if c1%ISOPEN then
- object_name := 9999;
- end if;
- --
- DBMS_OUTPUT.PUT_LINE(object_name);
- END LOOP;
- CLOSE c1;
- END;
- end TEST_procedures_pkg;
- create or replace package TEST_procedures_pkg as
- --%Suite
- --%test
- procedure TEST_procedures_pkga;
- --
- end TEST_procedures_pkg;
- create or replace package myProcedures as
- procedure execute;
- procedure proc1 (inParams varchar2, outParams out nocopy varchar2);
- procedure proc2 (inParams varchar2, outParams out nocopy varchar2);
- procedure proc3 (inParams varchar2, outParams out nocopy varchar2);
- end myProcedures;
- /
- create or replace package body myProcedures as
- procedure execute is
- inParams varchar2(32000);
- outParams varchar2(32000);
- begin
- for r in (
- select *
- from user_procedures
- where object_name = upper('myProcedures')
- and object_type = 'PACKAGE'
- and subprogram_id > 1
- order by subprogram_id
- ) loop
- inParams := lower(r.object_name||'.'||r.procedure_name)||'(objId='||r.object_id||':procId='||r.subprogram_id||')';
- execute immediate
- 'begin '||
- r.object_name||'.'||r.procedure_name||'(:inParams, :outParams);'||
- 'end;' using in inParams, out outParams;
- dbms_output.put_linΠ΅ (outParams);
- end loop;
- end execute;
- procedure proc1 (inParams varchar2, outParams out nocopy varchar2) is
- begin outParams := inParams||' executed ret=0'; end proc1;
- procedure proc2 (inParams varchar2, outParams out nocopy varchar2) is
- begin outParams := inParams||' executed ret=0'; end proc2;
- procedure proc3 (inParams varchar2, outParams out nocopy varchar2) is
- begin outParams := inParams||' executed ret=0'; end proc3;
- end myProcedures;
- /
- exec myProcedures.execute
- PL/SQL procedure successfully completed.
- myprocedures.proc1(objId=178418:procId=2) executed ret=0
- myprocedures.proc2(objId=178418:procId=3) executed ret=0
- myprocedures.proc3(objId=178418:procId=4) executed ret=0
Add Comment
Please, Sign In to add comment