在sqlplus中這兩種方法都可以使用:
exec pro_name(引數1..);
call pro_name(引數1..);
區別:但是exec是sqlplus命令,只能在sqlplus中使用;call為sql命令,沒有限制.
儲存過程沒有引數時,exec可以直接跟過程名(可以省略()),但call則必須帶上().
這裡將select語句查詢出的結果列表作為存過的入參
declare
cursor cur_ply_no is
select c_ply_no from zssys.web_gbdj_info_sub;
begin
for lr_ply_no in cur_ply_no loop
pk_tool.p_import_ol_data(lr_ply_no.c_ply_no);
commit;
end loop;
end;
declare
vsql varchar2(200);
i_proc user_tables.table_name%type;
cursor yb is
select object_name
from user_procedures
where object_name like 'proc%'
and object_name not like 'proc_err_log%'
and object_name not like 'proc_tab%';
begin
i_proc := 'proc_fms_accentry2_hl';
open yb;
loop
fetch yb
into i_proc;
exit when yb%notfound;
vsql := 'begin ' || i_proc || '(date''2018-03-01''); end;';
execute immediate vsql;
end loop;
end;
Oracle儲存過程例項
1.建立儲存過程 異常處理 create or replace procedure pro test2 dmlb in varchar2,dmz in varchar2,dmsm1 in varchar2,dmsm2 in varchar2,dmsm3 in varchar2,dmsm4 in va...
Oracle儲存過程例項
簡單地講,oracle儲存過程就是儲存在oracle資料庫中的乙個程式。一.概述 oracle儲存過程開發的要點是 使用notepad文字編輯器,用oraclepl sql程式語言寫乙個儲存過程 在oracle資料庫中建立乙個儲存過程 在oracle資料庫中使用sql plus工具執行儲存過程 在o...
Oracle儲存過程例項
不帶任何引數儲存過程 create or replace procedure out date is begin dbms output.put line sysdate end out date 測試 sql set serveroutput on sql exec out date 帶in和ou...