Oracle游標使用

2022-08-16 10:03:15 字數 1604 閱讀 6996

首先游標的宣告語法是這樣的:

cursor cursor_name is select_statement

我們寫乙個簡單的儲存過程,for迴圈取出游標顯示:

--

for 迴圈游標

--步驟 1.定義游標

--2.定義游標變數(可以理解為例項化)

--3.利用for迴圈來使用游標

create

orreplace

procedure

prd_test

ascursor c_emp is

--宣告游標

select

t1.empno

,t1.ename

,t2.dname

,t2.loc

,t1.job

,t1.sal

from emp t1 left

join

dept t2

on t1.deptno=

t2.deptno;

c_row c_emp

%rowtype; --

定義游標變數(例項化)

begin

for c_row in c_emp loop --

迴圈游標

dbms_output.put_line('

我的工號是:

'||c_row.empno||

',我叫

'||c_row.ename||

',我來自'||

c_row.loc);

endloop;

end;

fetch游標的用法:

--

fetch游標

--注意:使用的時候必須要明確開啟和關閉

create

orreplace

procedure

prd_fetch

ascursor c_emp is

select

t1.empno

,t1.ename

,t2.dname

,t2.loc

,t1.job

,t1.sal

from emp t1 left

join

dept t2

on t1.deptno=

t2.deptno;

c_row c_emp

%rowtype;

begin

open c_emp; --

開啟游標

loop

fetch c_emp into c_row; --

提取一行資料到c_row

exit

when c_emp%notfound; --

判斷是否提取到值,沒取到值就退出

dbms_output.put_line('

我的工號是:

'||c_row.empno||

',我叫

'||c_row.ename||

',我來自'||

c_row.loc);

endloop;

close

c_emp;

end;

oracle 游標使用

create or replace function errortyperead return varchar2 is result varchar2 3000 type cursor type is ref cursor tempname varchar2 100 cursor testcur i...

oracle游標使用

在進行pl sql程式設計時,我們都會使用游標,游標有兩種,一種是顯式游標,使用類似如下方式 open 游標 loop fetch into exit when notfound end loop close 游標 另一種是隱式游標,使用類似如下 for 游標變數 in 游標 loop 賦值變數 游...

Oracle游標使用

一,什麼是游標 遍歷查詢結果集的一種機制。二,為什麼避免使用游標 盡量避免使用游標,因為游標的效率較差 如果使用了游標,就要盡量避免在游標迴圈中再進行表連線的操作。三,使用游標的步驟 靜態游標 1,宣告一些變數,用來儲存游標遍歷過程的臨時資料 2,宣告游標,並且指定查詢 3,開啟游標 4,從游標中獲...