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