如何在plsql中执行存储过程

2025-03-23 19:17:00
推荐回答(2个)
回答1:

create or replace procedure job_table asv_sql varchar2(2000);begin v_sql:='create table job_test2 as select * from job_test'; EXECUTE immediate v_sql; EXCEPTION WHEN OTHERS THEN rollback;end job_table; 存储过程内不能直接使用create或alter,需要使用EXECUTE执行动态语句才可以 还有执行存储过程,必须在命令窗口内执行

回答2:

先定义包规范:create or replace package zhidao_pkg astype t_RetSet is REF CURSOR;procedure test_proc (Condition1 varchar2,Condition2 varchar2,Condition3 varchar2,Condition4 varchar2,r_Cursor out t_RetSet,status out int);end zhidao_pkg;包体创建create or replace package body zhidao_pkg isprocedure test_proc (Condition1 varchar2,Condition2 varchar2,Condition3 varchar2,Condition4 varchar2,r_Cursor out t_RetSet,status out int) as begin .end zhidao_pkg;调用:SQL> var cur refcursorSQL> var stas intSQL> exec test(10,:cur,:stas)PL/SQL 过程已成功完成。SQL> print :curSQL> print :stas希望对你有帮助,有问题再追问吧,望采纳。