儲存過程的學習

2021-08-25 10:13:02 字數 2090 閱讀 6387

一直沒有使用過儲存過程

今天特意學習一下oracle的儲存過程

一步一步學習,今天學習如下:

建立乙個最簡單的儲存過程

create or replace procedure test_xg_p1 is

begin

dbms_output.put_line('hello world! this is the first procedure');

end;

建立乙個帶輸入輸出引數的儲存過程:把輸入的資料傳給輸出引數

create or replace procedure test_xg_p2(a in number,x out number) is

begin

x:=a;

end test_xg_p2;

建立乙個邏輯判斷的儲存過程,幷包含輸入輸出引數:近似分數的登記判斷

create or replace procedure test_xg_p3(a in number,x out varchar2) is

begin

if a>=90 then

begin

x := 'a';

end;

end if;

if a<90 then

begin

x:='b';

end;

end if;

if a<80 then

begin

x:='c';

end;

end if;

if a<70 then

begin

x:='d';

end;

end if;

if a<60 then

begin

x:='e';

end;

end if;

end test_xg_p3;

建立乙個帶迴圈邏輯的儲存過程:近似累加函式

create or replace procedure test_xg_p4(a in number,x out varchar2) is

tempresult number(16);

begin

tempresult :=0;

for tempa in 0..a loop

begin

tempresult := tempresult + tempa;

end;

end loop;

x:=tempresult;

end test_xg_p4;

建立乙個能從資料庫中特定表中返回資料的儲存過程:

create or replace procedure test_xg_p5(x out varchar2) is

tempresult varchar2(1024);

begin

tempresult := 'start->';

select hotelid||hotelname into tempresult from hotel where hotelid =10041764;

x:=tempresult;

end test_xg_p5;

建立乙個能使用游標的帶迴圈的儲存過程:

create or replace procedure test_xg_p6(x out varchar2) is

tempresult varchar2(10240);

cursor cursor1 is select * from hotel where hotelname like '浙江%';

begin

tempresult := 'start->';

for cursor_result in cursor1 loop

begin

tempresult :=tempresult||cursor_result.hotelid||cursor_result.hotelname;

end;

end loop;

x:=tempresult;

end test_xg_p6;

學習儲存過程

儲存過程定義資訊檢視 column text format a30 column name format a20 select from user source where name select emp 修改 修改和建立一樣就是加上or replace 刪除儲存過程 drop procedure ...

mysql 儲存過程學習 mysql儲存過程學習

一 mysql建立乙個修改表字段的儲存過程 drop procedure if exists pr test create procedure pr test begin declare var int declare var1 int set var 416 set var1 420 while ...

儲存過程的學習(1)

儲存過程的特點 1.儲存過程是預編譯過的,並且經過優化後儲存於sql記憶體中,使用時無需再次編譯,提高了工作效率。2.儲存過程的 直接存放於資料庫中,一般有客戶端直接通過儲存過程的名字進行呼叫,減少了網路流量,加快了系統執行速度,例如在進行百萬以上的大批量資料查詢的時,使用儲存過程分頁要比其他方式分...