带有无参数的存储过程
生活随笔
收集整理的這篇文章主要介紹了
带有无参数的存储过程
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
SQL中調(diào)用存儲過程語句:call?procedure_name();
--聲明語句段
v_name VARCHAR2(20);
BEGIN
--執(zhí)行語句段
SELECT o.sname INTO v_name FROM student o WHERE o.id=4;
dbms_output.put_line(v_name);
EXCEPTION
--異常處理語句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END; ??????????????????? 2、僅帶入?yún)⒌拇鎯^程 CREATE OR REPLACE PROCEDURE stu_proc(v_id IN student.id%type) AS
--聲明語句段
v_name varchar2(20);
BEGIN
--執(zhí)行語句段
SELECT o.sname INTO v_name FROM student o where o.id=v_id;
dbms_output.put_line(v_name);
EXCEPTION
--異常處理語句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END; ?????????????? 3、僅帶出參的存儲過程? --此種存儲過程不能直接用call來調(diào)用,這種情況的調(diào)用將在下面oracle函數(shù)調(diào)用中說明
CREATE OR REPLACE PROCEDURE stu_proc(v_name OUT student.sname%type) AS
--聲明語句段
BEGIN
--執(zhí)行語句段
SELECT o.sname INTO v_name FROM student o where o.id=1;
dbms_output.put_line(v_name);
EXCEPTION
--異常處理語句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END; ??????????? 4、帶入?yún)⒑统鰠⒌拇鎯^程 --此種存儲過程不能直接用call來調(diào)用,這種情況的調(diào)用將在下面oracle函數(shù)調(diào)用中說明
CREATE OR REPLACE PROCEDURE stu_proc(v_id IN student.id%type, v_name OUT student.sname%type) AS
--聲明語句段
BEGIN
--執(zhí)行語句段
SELECT o.sname INTO v_name FROM student o where o.id=v_id;
dbms_output.put_line(v_name);
EXCEPTION
--異常處理語句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END; 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術(shù)人生
注:調(diào)用時”()”是不可少的,無論是有參數(shù)還是無參數(shù).
????????????
定義對數(shù)據(jù)庫存儲過程的調(diào)用時
1、無參數(shù)存儲過程:{call?procedure_name}
2、僅有輸入?yún)?shù)的存儲過程:{call?procedure_name(?,?...)}。
這里?表示輸入?yún)?shù),創(chuàng)建存儲過程時用in表示輸入?yún)?shù)
3、僅有輸出參數(shù)的存儲過程:{call?procedure_name(?,?...)}。
這里的?表示輸出參數(shù),創(chuàng)建存儲過程時用out表示輸出參數(shù)
4、既有輸入?yún)?shù)又有輸出參數(shù)的存儲過程{call?procedure_name(?,?...)}。
這里的?有表示輸出參數(shù)的,也有表示輸入?yún)?shù)的
???????????
下面將會對這4種情況分別舉出實例!!! 1、無參數(shù)存儲過程 CREATE OR REPLACE PROCEDURE stu_proc AS--聲明語句段
v_name VARCHAR2(20);
BEGIN
--執(zhí)行語句段
SELECT o.sname INTO v_name FROM student o WHERE o.id=4;
dbms_output.put_line(v_name);
EXCEPTION
--異常處理語句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END; ??????????????????? 2、僅帶入?yún)⒌拇鎯^程 CREATE OR REPLACE PROCEDURE stu_proc(v_id IN student.id%type) AS
--聲明語句段
v_name varchar2(20);
BEGIN
--執(zhí)行語句段
SELECT o.sname INTO v_name FROM student o where o.id=v_id;
dbms_output.put_line(v_name);
EXCEPTION
--異常處理語句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END; ?????????????? 3、僅帶出參的存儲過程? --此種存儲過程不能直接用call來調(diào)用,這種情況的調(diào)用將在下面oracle函數(shù)調(diào)用中說明
CREATE OR REPLACE PROCEDURE stu_proc(v_name OUT student.sname%type) AS
--聲明語句段
BEGIN
--執(zhí)行語句段
SELECT o.sname INTO v_name FROM student o where o.id=1;
dbms_output.put_line(v_name);
EXCEPTION
--異常處理語句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END; ??????????? 4、帶入?yún)⒑统鰠⒌拇鎯^程 --此種存儲過程不能直接用call來調(diào)用,這種情況的調(diào)用將在下面oracle函數(shù)調(diào)用中說明
CREATE OR REPLACE PROCEDURE stu_proc(v_id IN student.id%type, v_name OUT student.sname%type) AS
--聲明語句段
BEGIN
--執(zhí)行語句段
SELECT o.sname INTO v_name FROM student o where o.id=v_id;
dbms_output.put_line(v_name);
EXCEPTION
--異常處理語句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END; 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術(shù)人生
總結(jié)
以上是生活随笔為你收集整理的带有无参数的存储过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: update,options
- 下一篇: PHP文件操作系统