濮阳杆衣贸易有限公司

主頁 > 知識庫 > oracle中的procedure編寫和使用詳解

oracle中的procedure編寫和使用詳解

熱門標(biāo)簽:愛客外呼系統(tǒng)怎么樣 慧營銷crm外呼系統(tǒng)丹丹 哪個400外呼系統(tǒng)好 山東crm外呼系統(tǒng)軟件 地圖標(biāo)注養(yǎng)老院 開發(fā)外呼系統(tǒng) 哈爾濱電話機(jī)器人銷售招聘 百度地圖標(biāo)注途經(jīng)點(diǎn) 圖吧網(wǎng)站地圖標(biāo)注

1.創(chuàng)建/修改

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_list)]
{IS|AS}
[local_declarations]
BEGIN
executable_statements
[EXCEPTION exception_handlers]
END [procedure_name];

a.parameter_list格式如下

 parameter_name1 [in | out | in out] type, parameter_name1 [in | out] type [,........]

in 是輸入?yún)?shù), 可以有默認(rèn)值,默認(rèn)值例子 emp_no in number:=7900

out 是輸出參數(shù),

b.AS/IS的區(qū)別

在視圖(VIEW)中只能用AS不能用IS

在游標(biāo)(CURSOR)中只能用IS不能用AS

c.local_declarations格式如下:

    loacal_var1 type(limit);

如empname varchar2(20);

d.輸出變量賦值

oracle 變量賦值有兩種一種是直接 := 還有就是 select into

游標(biāo)參數(shù)

outcur OUT BASIC_CURSOR:
 OPEN outcur FOR SELECT col1,col2 FROM tablename

e.示例

create or replace procedure putNum(P_Date in date, P_year out varchar2) is 
 v_num number(8) := 1; 
 v_days number; 
 v_date date; 
begin 
 dbms_output.put_line('intput value:' || P_year); 
 v_num := 1; 
 v_days := 1; 
 v_days := to_number(to_char(P_Date, 'dd')); -- to_char(sysdate-20,'dd') 
 for i in 1 .. v_days Loop 
 v_date := to_date('2011/11/' || to_char(i), 'yyyy/MM/dd'); 
 --dbms_output.put_line(v_date); 
 end loop; 
 P_year := '2012'; 
end;

2.調(diào)用

[EXECUTE]|[CALL] procedure_name[(parameter,…n)]

在代碼塊 declare 的 begin/end 中不需要 [EXECUTE]|[CALL], 直接 procedure_name[(parameter,…n)]

其他外部程序需要 [EXECUTE]|[CALL]

在PL/SQL中調(diào)用這個存儲過程,采用了如下的代碼:

begin
Proc_Insert('hello6',25,'2005-12-24');
commit;
end;

3.顯示調(diào)試信息

a.存儲過程中在必要的位置添加

DBMS_OUTPUT.put_line ('Hello World!');

b.打開DBMS_OUTPUT

show serveroutput;
set serveroutput on;

c.測試我們的 procedure

復(fù)制代碼 代碼如下:

exec procedure_name

3.顯示錯誤 show errors

如果在 exec 存儲過程中提示出現(xiàn)錯誤,時刻使用"show errors"命令查看哪里出錯了

4.查看

a.所有 procedure

select object_name,object_type,status from user_objects where OBJECT_TYPE='PROCEDURE';

b.指定 procedure

SELECT text FROM user_source WHERE NAME = 'procedure_name';

5.刪除

DROP PROCEDURE procedure_name;

以上所述是小編給大家介紹的oracle中的procedure編寫和使用詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • oracle中 procedure(存儲過程)和function(函數(shù))本質(zhì)區(qū)別
  • 全面解析Oracle Procedure 基本語法

標(biāo)簽:和田 青島 武漢 周口 固原 開封 甘肅 承德

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《oracle中的procedure編寫和使用詳解》,本文關(guān)鍵詞  oracle,中的,procedure,編寫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《oracle中的procedure編寫和使用詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于oracle中的procedure編寫和使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    南川市| 彰化市| 黔东| 新干县| 崇明县| 南汇区| 锦州市| 宁阳县| 汾阳市| 阳谷县| 泊头市| 重庆市| 文成县| 岚皋县| 湖州市| 苗栗县| 绥棱县| 景德镇市| 临泽县| 沙洋县| 封开县| 广南县| 清镇市| 南溪县| 黄大仙区| 莎车县| 鄯善县| 玛曲县| 黔西县| 会理县| 明光市| 文安县| 石河子市| 东方市| 姜堰市| 体育| 庆元县| 日喀则市| 新巴尔虎左旗| 读书| 新建县|