首先游標的宣告語法是這樣的:
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,從游標中獲...