最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle中sql%rowcount的作用詳解

 更新時間:2023年05月30日 16:04:56   作者:zhu2695  
這篇文章主要介紹了oracle中sql%rowcount的作用,sql%rowcount來判斷是否更新了記錄的狀態(tài),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

起因:新開發(fā)個存儲過程,需要當(dāng)一個用戶調(diào)用存儲過程操作一行數(shù)據(jù)時,另外的用戶不允許調(diào)用過程操作該數(shù)據(jù)。

解決辦法:先將該記錄的狀態(tài)改為處理中,當(dāng)別的用戶看到為處理中時則跳出過程。此時用到了sql%rowcount來判斷是否更新了記錄的狀態(tài)

update table t set t.status = 'processing' where t.id = P_ID and t.status <> 'processing' ;  
if sql%rowcount = 0 then  
  return;  
end if;  

由于沒有用過sql%rowcount,所以特意測試了一下,下面是對sql%rowcount功能的測試:

--先建個測試用表

create table Z_TEMP  
(  
  C1 VARCHAR2(10),  
  C2 VARCHAR2(10),  
  C3 VARCHAR2(10)  
);  

--向表中插入3行測試數(shù)據(jù),插入后:

C1         C2         C3  
---------- ---------- ----------  
1                       
2                       
3   

寫了一段過程來測試:

declare  
  v_n number;  
begin  
  update z_temp t set t.c2 = '1' where t.c1 = 1; --更新一行記錄 c1 = 1  
  v_n := sql%rowcount;  
  dbms_output.put_line('第1.0次:' || v_n);  
  commit;  
  v_n := sql%rowcount;  
  dbms_output.put_line('第1.1次:' || v_n);--提交后sql%rowcounty已經(jīng)為0了  
  update z_temp t set t.c2 = '2' where t.c1 = 2; --更新一行記錄 c1 = 2  
  v_n := sql%rowcount;  
  dbms_output.put_line('第2次:' || v_n);  
  update z_temp t set t.c2 = '3'; --更新三行記錄  
  v_n := sql%rowcount;  
  dbms_output.put_line('第3次:' || v_n);  
  commit;  
end;  

/*輸出結(jié)果:  

第1.0次:1  

第1.1次:0  

第2次:1  

第3次:3  

*/  

執(zhí)行后表中數(shù)據(jù):

C1         C2         C3  
---------- ---------- ----------  
1          3            
2          3            
3          3      

由此可見sql%rowcount只會記錄未被提交的最后一條SQL語句的影響行數(shù)。這點很重要,如果想統(tǒng)計多個sql的合計影響行數(shù),就必須在每個sql后面,用一個變量保存當(dāng)前的sql%rowcount。

到此這篇關(guān)于oracle中sql%rowcount的作用的文章就介紹到這了,更多相關(guān)oracle sql%rowcount內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

嘉祥县| 小金县| 许昌市| 苏尼特左旗| 蒙城县| 阳曲县| 罗江县| 罗甸县| 化州市| 黄大仙区| 赣州市| 余庆县| 神农架林区| 建始县| 平谷区| 丰城市| 齐河县| 安西县| 唐海县| 新乡市| 谷城县| 舟曲县| 彰化县| 贞丰县| 宝鸡市| 鄢陵县| 伊通| 宝丰县| 林甸县| 三门县| 丰县| 稷山县| 龙南县| 刚察县| 贵港市| 舟山市| 崇州市| 东乡县| 河南省| 马公市| 武义县|