IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → Oracle游標(biāo)的刪除與更新實際操作步驟

Oracle游標(biāo)的刪除與更新實際操作步驟

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  以下的文章主要是介紹Oracle游標(biāo)的刪除與更新,我們都知道在PL/SQL中是可以使用UPDATE與DELETE語句來更新或者刪除相關(guān)的數(shù)據(jù)行。顯式Oracle游標(biāo)只有在需要獲得多行數(shù)據(jù)的情況下使用。

  PL/SQL提供了僅僅使用Oracle游標(biāo)就可以執(zhí)行刪除或更新記錄的方法。

  UPDATE或DELETE語句中的WHERE CURRENT OF子串專門處理要執(zhí)行UPDATE或DELETE操作的表中取出的最近的數(shù)據(jù)。

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

  語法:

  1.FOR UPDATE [OF [schema.]table.column[,[schema.]table.column]..

  2.[nowait]

  在多表查詢中,使用OF子句來鎖定特定的表,如果忽略了OF子句,那么所有表中選擇的數(shù)據(jù)行都將被鎖定。如果這些數(shù)據(jù)行已經(jīng)被其他會話鎖定,那么正常情況下ORACLE將等待,直到數(shù)據(jù)行解鎖。

  在UPDATE和DELETE中使用WHERE CURRENT OF子串的語法如下:

  1.WHERE{CURRENT OF cursor_name|search_condition}

  例:

  1.DELCARE

  2.CURSOR c1 IS SELECT empno,salary

  3.FROM emp

  4.WHERE comm IS NULL

  5.FOR UPDATE OF comm;

  6.v_comm NUMBER(10,2);

  7.BEGIN

  8.FOR r1 IN c1 LOOP

  9.IF r1.salary<500 THEN

  10.v_comm:=r1.salary*0.25;

  11.ELSEIF r1.salary<1000 THEN

  12.v_comm:=r1.salary*0.20;

  13.ELSEIF r1.salary<3000 THEN

  14.v_comm:=r1.salary*0.15;

  15.ELSE

  16.v_comm:=r1.salary*0.12;

  17.END IF;

  18.UPDATE emp;

  19.SET comm=v_comm

  20.WHERE CURRENT OF c1l;

  21.END LOOP;

  22.END

  以上的相關(guān)內(nèi)容就是對Oracle游標(biāo)中的更新和刪除的介紹,望你能有所收獲。

關(guān)鍵詞標(biāo)簽:Oracle游標(biāo)

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法