日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
DB2存儲(chǔ)過(guò)程中的兩種指針循環(huán)方式

DB2存儲(chǔ)過(guò)程相信大家都比較了解了,下面為您介紹的是DB2存儲(chǔ)過(guò)程中的兩種指針循環(huán)方式,希望對(duì)您學(xué)習(xí)DB2存儲(chǔ)過(guò)程能有所幫助。

在虹口等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè),虹口網(wǎng)站建設(shè)費(fèi)用合理。

DB2存儲(chǔ)過(guò)程中的指針循環(huán):

DB2存儲(chǔ)過(guò)程有2種那個(gè)方式:for循環(huán)和while循環(huán),如:

for循環(huán):

 
 
 
  1. for c1 as select deliveryid,deliverycode from delivery where status=40 for read only do  
  2.  
  3. select sum(qty) into dQty from deliverydetail where deliveryid=c1.deliveryid;  
  4.  
  5. ......  
  6.  
  7. end for;  

while循環(huán):

 
 
 
  1. declare c1 cursor for select deliveryid,deliverycode from delivery where status=40 for read only ;  
  2.  
  3. DECLARE CONTINUE HANDLER FOR NOT FOUND SET at_end_c1 = 1;  
  4.  
  5. set at_end_c1=0;  
  6. open c1 ;  
  7. FETCH c1 INTO ndeliveryid ,sdeliverycode;  
  8. WHILE ( at_end_c1 = 0) do  
  9.      select sum(qty) into dQty from deliverydetail where deliveryid=ndeliveryid ;  
  10.  
  11. ...  
  12.  
  13. set at_end_c1=0;  
  14.     FETCH c1 INTO ndeliveryid ,sdeliverycode;  
  15. END while ;  
  16. close c1;  

很明顯,for循環(huán)比while循環(huán)簡(jiǎn)單很多

而且,對(duì)于while循環(huán),如果不注意,很容易出現(xiàn)死循環(huán)

一般建議使用for循環(huán).

但是,有時(shí)候必須使用while循環(huán)。

如果在循環(huán)中有事務(wù),比如在循環(huán)中有一塊要求獨(dú)立事務(wù),對(duì)于那一塊,如果執(zhí)行成功 ,就提交這一塊,如果執(zhí)行不成功,就回滾這一塊,繼續(xù)下一個(gè)循環(huán),之時(shí)候就只能用while循環(huán)。

因?yàn)椋?dāng)commit的時(shí)候,會(huì)自動(dòng)關(guān)閉當(dāng)前指針。

在while循環(huán)中,如果要commit而不關(guān)閉當(dāng)前指針,要在定義指針的時(shí)候加with hold,上面的指針定義為:

 
 
 
  1. declare c1 cursor with hold for select deliveryid,deliverycode from delivery where status=40 for read only ; 

對(duì)于for循環(huán)是沒(méi)有辦法處理的。

如果需要用rollback,需要定義savepoint,然后回滾到指定的回滾點(diǎn)。
 

【編輯推薦】

DB2創(chuàng)建數(shù)據(jù)庫(kù)的實(shí)現(xiàn)

DB2目錄視圖說(shuō)明

DB2數(shù)據(jù)庫(kù)命令大全

DB2裝入命令的性能因素

DB2列轉(zhuǎn)行的實(shí)現(xiàn)


網(wǎng)站題目:DB2存儲(chǔ)過(guò)程中的兩種指針循環(huán)方式
文章地址:http://www.5511xx.com/article/dhsojdp.html