真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle如何調(diào)試存儲 oracle存儲過程debug

如何運(yùn)行和調(diào)試Oracle存儲過程

1.

創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站設(shè)計制作、網(wǎng)站制作、網(wǎng)站營銷推廣,域名申請,網(wǎng)站空間,成都網(wǎng)站托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請聯(lián)系創(chuàng)新互聯(lián)。

編寫Oracle存儲過程腳步如下:CREATE

OR

REPLACE

PROCEDURE

P_AUTO_CREATE_PARTITION

(Result

Out

int,

LogErrDesc

Out

varchar2

)

is

type

TypeTable

is

table

of

varchar2(20);

CreatePartitionErr

exception;

days

TypeTable;

BEGIN

Result

:=

0;

SELECT

DATETIME

bulk

collect

into

days

FROM

(

SELECT

TO_CHAR(TRUNC(SYSDATE-2,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

UNION

SELECT

TO_CHAR(TRUNC(SYSDATE-1,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

UNION

SELECT

TO_CHAR(TRUNC(SYSDATE,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

UNION

SELECT

TO_CHAR(TRUNC(SYSDATE+1,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

UNION

SELECT

TO_CHAR(TRUNC(SYSDATE+2,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

);

for

i

in

1..days.count

loop

if

bruce_partiton.CreatePartitions('T_CDT_1X_BASIC_Partion',days(i))0

then

raise

CreatePartitionErr;

end

if;

end

loop;

--名字寫錯了bruce_partiton,應(yīng)該為bruce_partition

commit;

--異常處理

EXCEPTION

WHEN

CreatePartitionErr

THEN

rollback;

Result

:=

-1;

LogErrDesc

:=

SQLERRM;

commit;

RETURN;

WHEN

OTHERS

THEN

rollback;

Result

:=

-2;

LogErrDesc

:=

'CDM_CTCALLTRACEINFO_PRC_NEW

Fail!'||substr(dbms_utility.format_error_stack,1,200);

commit;

RETURN;

END

P_AUTO_CREATE_PARTITION;

/

2.

調(diào)試

在PL/SQL中選擇存儲過程,右鍵TEST,

ADD

DEBUGINFO,3.

運(yùn)行,在Program

Window中

oracle的存儲過程怎么調(diào)試

方法/步驟

首先在PL/SQL的左側(cè)資源欄中展開Procedures項(圖中位置1),然后再其上面的搜索框中(圖中位置2)輸入存過名稱的關(guān)鍵詞,按回車鍵搜索要調(diào)試的存過,不停的回車,直到找到想要調(diào)試的存過。

找到想要調(diào)試的存過,左鍵單擊選中該存過(圖中位置1),然后右鍵單擊該存過,從彈出菜單中選擇“Test”項(圖中位置2)。

單擊“Test”后,PL\SQL會打開調(diào)試界面,圖中位置1的按鈕就是開始調(diào)試的按鈕,在調(diào)試之前要填寫存過的參數(shù),位置2就是填寫參數(shù)的地方,如果有多個參數(shù),會有多行參數(shù)框,按參數(shù)名填寫相應(yīng)的參數(shù)即可。

填寫完參數(shù),單擊開始調(diào)試按鈕后,調(diào)試的界面會發(fā)生一些變化。圖中位置1的變化,說明存過已經(jīng)處于執(zhí)行狀態(tài),別人不能再編譯或者執(zhí)行。位置2的按鈕就是執(zhí)行按鈕,單擊這個按鈕存過會執(zhí)行完成或者遇到bug跳出,否則是不會停下來的,調(diào)試時不會用這個按鈕的。位置3的按鈕才是關(guān)鍵——單步執(zhí)行,就是讓代碼一行一行的執(zhí)行,位置4的按鈕是跳出單步執(zhí)行,等待下一個指令。

單擊“單步執(zhí)行”,存過開始單步執(zhí)行。界面中每一次執(zhí)行的代碼會高亮顯示(圖中位置1),如果想要看某個變量具體的值,就在位置2的地方輸入該變量名,然后變量的值會顯示在位置3的地方。

調(diào)試的時候,每一次單步執(zhí)行的時候要記一下執(zhí)行代碼的行數(shù),圖中位置3的數(shù)字就是當(dāng)前執(zhí)行代碼的行數(shù),就是第幾行。如果過程單步執(zhí)行到某行后,再單步執(zhí)行的時候,存過就退出,那么錯誤就在該行的下一行。

代碼執(zhí)行到24行,在往下執(zhí)行時,直接轉(zhuǎn)到exception的地方,也就是異常處理的部分。

這說明我們代碼中的錯誤在24和25行上,我們打開存過,瀏覽到24行和25行附近,發(fā)現(xiàn)25行和24行使用了兩個變量,記住那兩個變量。重新開始調(diào)試過程。

單步的執(zhí)行時候把剛才那兩個變量名填寫到變量查看框,一邊觀察變量值變化,一邊單步執(zhí)行,執(zhí)行到24行的時候,發(fā)現(xiàn)一個變量已經(jīng)有值了,而另一個變量的值為null。錯誤原因明朗了吧?就是變量沒有賦值或者初始話,給該變量賦值后存過就不報錯了。

PL/SQL Developer中如何調(diào)試oracle的存儲過程

1.

打開PL/SQL

Developer如果

在機(jī)器上安裝了PL/SQL

Developer的話,打開PL/SQL

Developer界面輸入

用戶名,密碼和host名字,這個跟在程序中web.config中配置的完全相同,點(diǎn)擊確定

找到

需要調(diào)試的存儲過程所在的包(Package

bodies),如PACK_ACTIVITY,點(diǎn)擊右鍵,在彈出菜單中選擇[查看],得到包中的所有存儲過程和他們的代碼.

2.

添加debug信息為了

能夠單步跟蹤存儲過程,需要為其所在的包添加debug信息,右鍵點(diǎn)擊需要調(diào)試的包,在彈出菜單中選中[添加調(diào)試信息].這樣

就為包體添加了調(diào)試信息。

3.

調(diào)

試存儲過程現(xiàn)在

所有的準(zhǔn)備工作都做好了,可以調(diào)試跟蹤存儲過程了。選擇

需要調(diào)試的存儲過程,點(diǎn)擊右鍵,在彈出菜單中

選擇[測試],進(jìn)去測試窗口.測試窗口中有為了測試該存儲過程自動所產(chǎn)生的代碼,當(dāng)然你也可以自己另外加入和修改代碼,對于我們目前只是為了調(diào)試存儲過程,

自動生成的代碼已經(jīng)足夠了。接著按照如下的步驟進(jìn)行調(diào)試。(1)添加存儲過程所需要的參數(shù),我們項目中的大多數(shù)存儲過程都是需要參數(shù)

的,參數(shù)可以在測試窗口右下部分輸入。如:GetPanNO_New需要一個輸入?yún)?shù)v_employeeid,我們輸入180,輸出參數(shù)是mycursor,是查看結(jié)果的,不需要輸入任何值。

(2)開始調(diào)試,點(diǎn)擊[調(diào)試]菜單-[開始](或者按F9),就進(jìn)去調(diào)試模式了,程序開始停在begin這一行.

(3)以后的調(diào)試過程跟我們熟悉的的調(diào)試過程就一樣了:運(yùn)行(Ctrl+R)單步

進(jìn)入(Ctrl+N)單步

跳過(Ctrl+O)單步

退出(Ctrl+T)或者

點(diǎn)擊debug工具條上的按扭:當(dāng)按Ctrl+N進(jìn)去存儲過程的源代碼中后

在這

個窗口中可以查看過程中的變量值和堆棧。

(4)調(diào)試運(yùn)行完了后,可以查看結(jié)果如下(點(diǎn)擊mycursor變量旁邊的按鈕).

4.

Tip

令人

比較郁悶的是我們項目中很多的存儲過程都是一個SELECT語句,不管這個SELECT語句多么復(fù)雜(SELECT語句中有嵌套的子SELECT語句),它也只能作為一行代碼,單步跟蹤就沒有什么意義了。

oracle 中用什么命令執(zhí)行一個帶參數(shù)的存儲過程

具體如下:

1、第一步,創(chuàng)建一個新的存儲過程,見下圖,轉(zhuǎn)到下面的步驟。

2、第二步,完成上述步驟后,修改存儲過程。

此存儲過程具有一個輸入?yún)?shù)(pid)和一個輸出參數(shù),即通過用戶id查詢用戶名并返回名稱,見下圖,轉(zhuǎn)到下面的步驟。

3、第三步,完成上述步驟后,調(diào)試存儲過程,找到新創(chuàng)建的存儲過程,右鍵單擊[test]按鈕,見下圖,轉(zhuǎn)到下面的步驟。

4、第四步,完成上述步驟后,修改id值,然后單擊左上角的“倒三角”按鈕以開始調(diào)試,見下圖,轉(zhuǎn)到下面的步驟。

5、第五步,完成上述步驟后,按[CTRL +

N]進(jìn)行單步調(diào)試,按[CTRL + O]單步調(diào)試,按[CTRL + T]退出調(diào)試,或者單擊調(diào)試工具進(jìn)行調(diào)試,見下圖,轉(zhuǎn)到下面的步驟。

6、第六步,完成上述步驟后,可以在窗口底部輸入變量名稱,以觀察變量的變化,見下圖,轉(zhuǎn)到下面的步驟。

7、第七步,完成上述步驟后,可以查看調(diào)試結(jié)果,見下圖。這樣,就解決了這個問題了。

oracle plsql怎么調(diào)試存儲過程

1、首先是編寫存儲過程,編譯無誤;

2、添加debug信息。為了能夠單步跟蹤存儲過程,需要為其所在的包添加debug信息,右鍵點(diǎn)擊需要調(diào)試的存儲過程名稱,在彈出菜單中選中[add debug information],這樣就為包體添加了調(diào)試信息;

3、選擇需要調(diào)試的存儲過程名稱,點(diǎn)擊右鍵,在彈出菜單中 選擇[Test],進(jìn)去測試窗口,測試窗口中有為了測試該存儲過程自動所產(chǎn)生的代碼,當(dāng)然你也可以自己另外加入和修改代碼,自動生成的代碼已經(jīng)足夠了。

如何oracle調(diào)試存儲過程

oracle存儲過程調(diào)試方法

PL/SQL中為我們提供了【調(diào)試存儲過程】的功能,可以幫助你完成存儲過程的預(yù)編譯與測試。

點(diǎn)擊要調(diào)試的存儲過程,右鍵選擇TEST

如果需要查看變量,當(dāng)然調(diào)試都需要。在右鍵菜單中選擇Add debug information.

start debugger(F9)開始我們的測試,Run(Ctrl+R)

隨時在varible List中輸入我們想查看的變量

其它:

Step into(Ctrl+N):單步調(diào)試,進(jìn)入下一步

Step over(Ctrl+O):結(jié)束該語句

Step out(Ctrl+T):跳出該過程

Run to next exception:進(jìn)入下一個斷點(diǎn)Breakpoint

Toggle Breakpoint設(shè)置斷點(diǎn):光標(biāo)指向一行,Ctrl+B;或鼠標(biāo)點(diǎn)中該行的行號邊緣

--引用自網(wǎng)頁鏈接


網(wǎng)站名稱:oracle如何調(diào)試存儲 oracle存儲過程debug
鏈接URL:http://weahome.cn/article/hijdpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部