在oracle中,可以使用“CREATE PROCEDURE”語句來創建存儲過程,基本語法“CREATE [OR REPLACE] PROCEDURE 過程名 [參數列表] IS […] BEGIN … END [過程名];”。
本教程操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。
什么是存儲過程?
所謂存儲過程(Stored Procedure),就是一組用于完成特定數據庫功能的SQL語句集,該SQL語句集經過編譯后存儲在數據庫系統中。
在使用時候,用戶通過指定已經定義的存儲過程名字并給出相應的存儲過程參數來調用并執行它,從而完成一個或一系列的數據庫操作。
oracle創建存儲過程
語法
CREATE?[OR?REPLACE]?PROCEDURE?過程名?[?(參數?[,參數])?]?? IS?? ????[declaration_section]?? BEGIN?? ????executable_section?? [EXCEPTION?? ????exception_section]?? END?[過程名];
以下是創建過程必須定義的三種類型的語句。
-
IN:這是一個默認參數,它將值傳遞給子程序。
-
OUT:必須指定,它向調用者返回一個值。
-
IN OUT:必須指定,它將初始值傳遞給子程序并將更新的值返回給調用者。
Oracle創建過程示例
在此示例中,將在user表中插入記錄,所以需要先創建user表。
user表創建語句:
create?table?user(id?number(10)?primary?key,name?varchar2(100));
現在編寫程序代碼以在user表中插入記錄。
create?or?replace?procedure?"INSERTUSER"???? (id?IN?NUMBER,???? name?IN?VARCHAR2)???? is???? begin???? ????insert?into?user?values(id,name);???? end;???? /
執行上面代碼,得到以下結果 –
Procedure?created.
Oracle程序調用過程
讓我們來看看如何調用上面創建的過程。參考以下示例代碼 –
BEGIN???? ???insertuser(101,'Maxsu');?? ???dbms_output.put_line('record?inserted?successfully');???? END;???? /
現在,查看USER表中的記錄,將看到上面插入了一條記錄。
ID????????Name --------------------------- 101????????Maxsu
推薦教程:《Oracle教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦