儲存過程 包含三部分: 宣告,執行部分,異常。
可以有無引數程式和帶引數儲存過程。
無參程式語法
1 create or replace procedure noparpro
2 as ;
3 begin
4 ;
5 exception
6 ;
7 end;
8
帶參儲存過程例項
1 create or replace procedure queryempname(sfindno emp.empno%type) as
2 sname emp.ename%type;
3 sjob emp.job%type;
4 begin
5 ....
7 exception
....
14 end;
15
帶引數儲存過程含賦值方式
1 create or replace procedure runbyparmeters (isal in emp.sal%type,
sname out varchar,sjob in out varchar)
2 as icount number;
3 begin
4 select count(*) into icount from emp where sal>isal and job=sjob;
5ificount=1
then
6 ....
9else
10 ....
12 endif;
13 exception
14 when too_many_rows then
15 dbms_output.put_line('返回值多於1行'
);
16 when others then
17 dbms_output.put_line('在runbyparmeters過程中出錯!'
);
18 end;
19
過程呼叫
方式一
1 declare
2 realsal emp.sal%type;
3 realname varchar(40
);
4 realjob varchar(40
);
5 begin
6 realsal:=1100
;
7 realname:=''
;
8 realjob:='clerk'
;
9 runbyparmeters(realsal,realname,realjob); --必須按順序
10 dbms_output.put_line(realname||' '
||realjob);
11 end;
12
方式二
1 declare
2 realsal emp.sal%type;
3 realname varchar(40
);
4 realjob varchar(40
);
5 begin
6 realsal:=1100
;
7 realname:=''
;
8 realjob:='clerk'
;
9 runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值對應變數順序可變
10 dbms_output.put_line(realname||' '
||realjob);
11 end;
12
儲存過程 包含三部分: 宣告,執行部分,異常。
可以有無引數程式和帶引數儲存過程。
無參程式語法
1 create or replace procedure noparpro
2 as ;
3 begin
4 ;
5 exception
6 ;
7 end;
8 帶參儲存過程例項
1 create or replace procedure queryempname(sfindno emp.empno%type) as
2 sname emp.ename%type;
3 sjob emp.job%type;
4 begin
5 ....
7 exception
....
14 end;
15 帶引數儲存過程含賦值方式
1 create or replace procedure runbyparmeters (isal in emp.sal%type,
sname out varchar,sjob in out varchar)
2 as icount number;
3 begin
4 select count(*) into icount from emp where sal>isal and job=sjob;
5 if icount=1 then
6 ....
9 else
10 ....
12 end if;
13 exception
14 when too_many_rows then
15 dbms_output.put_line('返回值多於1行');
16 when others then
17 dbms_output.put_line('在runbyparmeters過程中出錯!');
18 end;
19 過程呼叫
方式一1 declare
2 realsal emp.sal%type;
3 realname varchar(40);
4 realjob varchar(40);
5 begin
6 realsal:=1100;
7 realname:='';
8 realjob:='clerk';
9 runbyparmeters(realsal,realname,realjob); --必須按順序
10 dbms_output.put_line(realname||' '||realjob);
11 end;
12 方式二
1 declare
2 realsal emp.sal%type;
3 realname varchar(40);
4 realjob varchar(40);
5 begin
6 realsal:=1100;
7 realname:='';
8 realjob:='clerk';
9 runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值對應變數順序可變
10 dbms_output.put_line(realname||' '||realjob);
11 end;
12
ORACLE儲存過程語法
oracle 儲存過程的基本語法 1.基本結構create or replace procedure 儲存過程名字 引數 1 in number,引數 2 in number is 變數 1 integer 0 變數 2 date begin end 儲存過程名字 2.select into sta...
oracle儲存過程語法
儲存過程 1 create or replace procedure ordr main 通知oracle資料庫去建立乙個叫做ordr main儲存過程,如果存在就覆蓋它 4 null null pl sql語句表明什麼事都不做,這句不能刪去,因為pl sql體中至少需要有一句 儲存過程建立語法 c...
oracle 儲存過程語法
oracle 儲存過程的基本語法 1.基本結構 create or replace procedure 儲存過程名字 引數1 in number,引數2 in number is 變數1 integer 0 變數2 date begin end 儲存過程名字 2.select into statem...