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

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

oracle中怎么加斷點(diǎn) oracle存儲(chǔ)過(guò)程打斷點(diǎn)

如何調(diào)試oracle的procedure

PL/SQL中為我們提供了調(diào)試存儲(chǔ)過(guò)程的功能,可以幫助你完成存儲(chǔ)過(guò)程的預(yù)編譯與測(cè)試。 點(diǎn)擊要調(diào)試的存儲(chǔ)過(guò)程,右鍵選擇TEST

未央網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),未央網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為未央數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的未央做網(wǎng)站的公司定做!

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

debugger(F9)開(kāi)始我們的測(cè)試,Run(Ctrl+R) 隨時(shí)在varible List中輸入我們想查看的變量 其它: Step

into(Ctrl+N):單步調(diào)試,進(jìn)入下一步 Step over(Ctrl+O):結(jié)束該語(yǔ)句 Step out(Ctrl+T):跳出該過(guò)程

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

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

如何在ORACLE 存儲(chǔ)過(guò)程中設(shè)置回滾斷點(diǎn)

學(xué)習(xí)存儲(chǔ)過(guò)程中使用斷點(diǎn)回滾事務(wù)時(shí),發(fā)現(xiàn)目前網(wǎng)絡(luò)上存在一個(gè)問(wèn)題,那就是使用斷點(diǎn)回滾后,都忘記了一個(gè)很重要的事情,提交事務(wù)。雖然使用了斷點(diǎn)回滾,但是斷點(diǎn)回滾不像rollBack或commit一樣結(jié)束當(dāng)前事務(wù),而使用斷點(diǎn)回滾只會(huì)回滾到聲明斷點(diǎn)的地方,之前的產(chǎn)生的事務(wù)仍需要提交的,如果不提交,事務(wù)一直在數(shù)據(jù)庫(kù)中緩存.

Demo:

procedure doSomeThing(p_number out number) as

begin

insert into t_test_user_mingming(id,loginname,password,realname,type)

values(se_test_user_mingming_id.nextval,'xiaoming','1234','小明',1);

p_number := 1;

savepoint ps;--- 設(shè)置斷點(diǎn) ps

insert into t_test_info_mingming(id,pal,type,create_time,note)

values(se_test_info_id.nextval,'我想買臺(tái)thinkPad 可以俺莫有錢',1,sysdate,'ceshi');

p_number := 2;

savepoint sp;----設(shè)置斷點(diǎn) sp

insert into t_test_agent(agent_id) values(1);---我這里此行會(huì)拋出異常 ORA-01400 可以替換為下句 手動(dòng)拋出一個(gè)異常

-----RAISE_APPLICATION_ERROR (-20004,'拋出的異常玩玩');

commit;

exception --捕獲異常

when others then

rollback to ps; ---- 如果產(chǎn)生異常,回滾到斷點(diǎn) ps

p_number :=0;

commit; --- 提交事務(wù)

end doSomeThing;

這里本人做了實(shí)驗(yàn),如果在異常中不加 commit 語(yǔ)句,使用PL/SQL測(cè)試時(shí),異常在緩存,t_test_user_mingming 表中沒(méi)有數(shù)據(jù)記錄。

存儲(chǔ)過(guò)程里的事務(wù)操作:

create or replace procedure pr_mypro2(p_a in varchar2,p_b in varchar2,p_count out number)

temp varchar2(1000); /*定義臨時(shí)變量*/

is

begin

select code into p_count from table1 where a=p_a; /*查詢并返回值*/

temp := p_count; /*將返回值賦給臨時(shí)變量*/

savepoint point1; /*保存點(diǎn)*/

insert into table2(a,b)values(temp,p_b); /*將臨時(shí)變量值添加到新表的字段*/

savepoint point2;

insert into

exception

when others then

rollback to savepoint point1; /*異常處理,保存點(diǎn)下面的操作都不會(huì)被執(zhí)行*/

return;

end;

保存點(diǎn)(SAVEPOINT)是事務(wù)處理過(guò)程中的一個(gè)標(biāo)志,與回滾命令(ROLLBACK)結(jié)合使用,主要的用途是允許用戶將某一段處理回滾而不必回滾整個(gè)事務(wù)。

如果定義了多個(gè)savepoint,當(dāng)指定回滾到某個(gè)savepoint時(shí),那么回滾操作將回滾這個(gè)savepoint后面的所有操作(即使后面可能標(biāo)記了N個(gè)savepoint)。

例如,在一段處理中定義了五個(gè)savepoint,從第三個(gè)savepoint回滾,后面的第四、第五個(gè)標(biāo)記的操作都將被回滾,如果不使用ROLLBACK TO savepoint_name而使用ROLLBACK,將會(huì)滾整個(gè)事務(wù)處理。

oracle 存儲(chǔ)過(guò)程 斷點(diǎn)設(shè)置

plsql--打開(kāi)你的過(guò)程--菜單欄的DEBUG--添加斷點(diǎn)---點(diǎn)擊過(guò)程文本框的左側(cè),設(shè)置斷點(diǎn)--右鍵點(diǎn)擊你的過(guò)程--點(diǎn)擊測(cè)試---F9

如何在pl/sql developer 7運(yùn)行到oracle存儲(chǔ)過(guò)程設(shè)置斷點(diǎn)的地方

plsql--打程--菜單欄DEBUG--添加斷點(diǎn)---點(diǎn)擊程文本框左側(cè)設(shè)置斷點(diǎn)--右鍵點(diǎn)擊程--點(diǎn)擊測(cè)試---F9


網(wǎng)站標(biāo)題:oracle中怎么加斷點(diǎn) oracle存儲(chǔ)過(guò)程打斷點(diǎn)
URL分享:http://weahome.cn/article/hhisoh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部