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游标使用方法有哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行卡密码锁定怎么办
- 下一篇: c语言字母输出什么意思,C语言中字符的输