oracle 游標操作,cursor

2022-03-14 20:28:18 字數 1233 閱讀 4381

在游標中使用引數:

cursor cursor_name(p_state in state%type) is

select_statement;

沒有引數的寫法是

cursor cursor_name  is

select_statement;

對於括號裡面的,in 左邊是引數的別名,in 右邊是引數的型別,對於輸入的引數,可以設定預設值

使用引數的語法

open

cursor_name (parameter_value);[or

]for record_name in

cursor_name(parameter_value)

loop

null

;end loop;

for update 和 where current

當希望更新資料庫的表時,只能使用游標 for update子句。因為使用select 語句是,不會鎖定任何資料行。

使用for update 的目的是鎖定希望更新的資料庫表中資料行,以便於在執行完更新操作前,其他人不能更新操作。

cursor cursor_name is

select_statement

forupdate

[of column_name

];

where current 語句只能在與 for update 語句一起使用。

1

declare

2cursor c_name is select_statement for

update

ofcol_name;3

begin

4for r_name in

c_name

5loop

6update t_name set

col_name

=value

7where

current

ofc_name;

8end

loop;

9end;

第7行中的 current of  後跟游標名,通過游標指定的update of 可以定位到需要更新的操作,這樣就避免 where  的匹配寫法(where col_name= r_name.col_name)

Oracle 游標操作

sql語言分為六種,其中ccl cursor control language游標控制語言 簡單定義 游標是指向結果集的指標,類似迭代器iterator 一開始指向結果集的第一條記錄之前的記錄,每fetch一次往下移動一條記錄,返回指標指向的當前記錄。游標的操作 1 宣告游標 cursor c is...

ORACLE中用for in 使用cursor

cursor cur is select from for cur result in cur loop begin v sum cur result.列名1 cur result.列名2 end end loop end 中的cursor cur is得到的是什麼?用for in 能夠得到什麼?答...

Oracle中的游標操作

游標是oracle系統在記憶體中開闢的乙個工作區,在其中存放select語句返回的查詢結果 1 游標操作的過程 1 定義游標 2 開啟游標 3 游標的操作 移動,讀取資料 4 關閉游標 注釋 游標的定義格式 cursor cusor name is select語句 游標的開啟 open 游標名 游...