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

2021-04-25 22:03:51 字數 1464 閱讀 8496

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一定要賦初值,不然將不能正常運算

begin

pk_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;

建立和使用儲存過程

建立和使用儲存過程 用create procedure命令建立儲存過程和儲存函式。語法 create or replace procedure 過程名 引數列表 asplsql子程式體 第乙個儲存過程 列印hello world 呼叫儲存過程 1.exec sayhelloworld 2.begin...

oracle 賦值儲存過程的建立和執行

建立儲存過程 create or replace procedure insert student asstudent id number student name varchar2 20 student varchar2 20 student age number student departme...

Oracle中儲存過程的建立和呼叫

1.oracle中建立儲存過程的格式如下 create or replace procedure 過程名 引數1 方式1 資料型別1 引數2 方式2 資料型別2 is as begin pl sql end 其中引數in表示輸入,out表示輸出,in out 表示既可以輸入也可以輸出 2.呼叫儲存過...