oracle儲存過程語法

2021-04-25 19:06:26 字數 4252 閱讀 7931

儲存過程 包含三部分: 宣告,執行部分,異常。    

可以有無引數程式和帶引數儲存過程。    

無參程式語法    

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...