oracle儲存過程(寫法 實戰)

2021-10-01 17:21:04 字數 1444 閱讀 3572

create or replace procedure p_add(num1 in number,

num2 in number, result out number) --引數,可為空

as /*result number;*/ --這裡還可以定義變數

begin

result := num1 + num2; --執行過程體

end ;

/

引數中有入參和出參,入參好理解,出參類似於函式的return。

建立了儲存過程後,我們就可以看到了

先看個示例,聯絡上文:

declare

result number;

begin

p_add(1, 2, result);

dbms_output.put_line('計算結果: ' || result);

還可以通過定時任務呼叫,參看另外一篇

判斷:

if 表示式不帶括號 then

--todo

else

--todo

end if;

迴圈:

--for in loop

create or replace procedure mydemo09 as

begin

for stu in (select * from students) loop

if (stu.id<5) then

dbms_output.put_line(stu.id);

end if;

end loop;

commit;

end;

--while loop

create or replace procedure test_while_loop as

n_count number := 0;

begin

while n_count < 10 loop

dbms_output.put_line(n_count);

n_count := n_count + 1;

end loop;

end;

儲存過程(stored procedure)是在大型資料庫系統中,一組為了完成特定功能的sql 語句集,它儲存在資料庫中,一次編譯後永久有效,使用者通過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。儲存過程是資料庫中的乙個重要物件。在資料量特別龐大的情況下利用儲存過程能達到倍速的效率提公升。

Oracle的儲存過程基本寫法

create or replace procedure 儲存過程名 param1 in type,param2 out type as變數1 型別 值範圍 變數2 型別 值範圍 begin select count into 變數1 from 表a where列名 param1 if 判斷條件 th...

儲存過程寫法

引用 儲存過程呼叫 drop procedure if exists pro rep shadow rs delimiter rep shadow rs 用來處理資訊的增加,更新和刪除 每次只更新上次以來沒有做過的資料 根據不同的標誌位 需要乙個輸出的引數,如果返回為0,則呼叫失敗,事務回滾 如果返...

儲存過程寫法

引用 儲存過程呼叫 drop procedure if exists pro rep shadow rs delimiter rep shadow rs 用來處理資訊的增加,更新和刪除 每次只更新上次以來沒有做過的資料 根據不同的標誌位 需要乙個輸出的引數,如果返回為0,則呼叫失敗,事務回滾 如果返...