您的位置:首頁技術文章
文章詳情頁

Oracle存儲過程創建和使用舉例

瀏覽:45日期:2023-11-23 18:09:38

oracle 存儲過程創建和使用舉例

1.創建存儲過程create or replace package pk_1 as; //創建包的聲明TYPE cur is ref cursor; //聲明一個指針procedure p1(cr out cur); end;

/

create or replace package body pk_1 as; //創建包體 procedure p1(cr out cur) is begin open cr for select STATUS,table_name; from dba_tables; end; end;

/

2.調用(在sqlplus中):set serveroutput on //設置允許進行輸出操作/

declare cc pk_1.cur; s varchar2(20);t varchar2(30);c11 number :=0; //變量c11一定要賦初值,不然將不能正常運算beginpk_1.p1(cc);loop fetch cc into s,t; exit when cc%notfound; c11 := c11 + 1; dbms_output.put_line('status = ' || s || '; table_name; = ' || t);end loop;close cc;dbms_output.put_line(c11);end;

/

3.對于不是返回一個結果集的存儲過程的調用

CREATE OR REPLACE PROCEDURE p1( parameter1 in number, parameter2 out number; ) is value1 INTEGER :=0;begin select count(*) into value1 from dba_tables where table_name like '%t%'; parameter2 := value1;end p1;

sqlplus 中運行procedure第一種調用方式:

(1)set serveroutput on declare v_p_o_succeed varchar2; begin pr_jwry_info('a_p_i_date',v_p_o_succeed) ; dbms_output.put_line(v_p_o_succeed); end;第二種調用方式:

(2) var cc varchar(20) p1(1,:cc) print cc;

標簽: Oracle 數據庫
国产综合久久一区二区三区