日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle游标有何用,Oracle游标使用方法有哪些?

發布時間:2024/9/27 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle游标有何用,Oracle游标使用方法有哪些? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在PL/SQL中依然可以使用UPDATE和DELETE語句更新或刪除數據行。顯式游標只有在需要獲得多行數據的情況下使用。PL/SQL提供了僅僅使用游標就可以執行刪除或更新記錄的方法。 UPDATE或DELETE語句中的WHERE CURRENT OF子串專門處理要執行UPDATE或DELETE操作的表中取出的最近的數據。

要使用這個方法,在聲明游標時必須使用FOR UPDATE子串,當對話使用FOR UPDATE子串打開一個游標時,所有返回集中的數據行都將處于行級(ROW-LEVEL)獨占式鎖定,其他對象只能查詢這些數據行,不能進行UPDATE、DELETE或SELECT。

。。FOR

UPDATE操作。 語法:

FOR UPDATE [OF [schema。]table。column[,[schema。]table。column]。。

[nowait]

在多表查詢中,使用OF子句來鎖定特定的表,如果忽略了OF子句,那么所有表中選擇的數據行都將被鎖定。

如果這些數據行已經被其他會話鎖定,那么正常情況下ORACLE將等待,直到數據行解鎖。 在UPDATE和DELETE中使用WHERE CURRENT OF子串的語法如下: WHERE{CURRENT OF cursor_name|search_condition} 例: DELCARE CURSOR c1 IS SELECT empno,salary FROM emp WHERE comm IS NULL FOR UPDATE OF comm; v_comm NUMBER(10,2); BEGIN

FOR r1 IN c1 LOOP

IF r1。

salary<500 THEN

v_comm:=r1。salary*0。25;

ELSEIF r1。salary<1000 THEN

v_comm:=r1。salary*0。20;

ELSEIF r1。salary<3000 THEN

v_comm:=r1。

salary*0。15;

ELSE

v_comm:=r1。salary*0。12;

END IF;

UPDATE emp;

SET comm=v_comm

WHERE CURRENT OF c1l;

END LOOP; END。

全部

總結

以上是生活随笔為你收集整理的Oracle游标有何用,Oracle游标使用方法有哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。