1、游標實際上就是乙個集合;
2、游標的屬性
%found 取到值則返回true;沒取到值則返回false;
%notfound 沒取到值則返回true;取到值則返回false;
%isopen 游標是否開啟;
%rowcount 影響的行數;
3、游標數的限制
預設在同乙個會話中,可以開啟300個游標。
4、無引數的游標
例子:迴圈列印出員工表中員工姓名和工資
--定義游標
cursor cemp is select t.name ,t.sal from emp t ;
dname emp.name%type;
dsal emp.sal%type;
begin
--開啟游標
open cemp;
loop
--取一條資料
fetch cemp into dname,dsal ;
exit when cemp%notfound;
dbms_output.put_line(dname||'的工資:'||dsal);
end loop;
--關閉游標
close cemp;
end;
列印結果:
5、有引數的游標
例:迴圈列印出員工表中部門為1的員工姓名
declare
--定義帶引數的游標
cursor cemp(deptno1 varchar2) is select t.name from emp t where t.deptno =deptno1;
dname emp.name%type;
begin
--開啟游標
open cemp('1');
loop
fetch cemp into dname ;
exit when cemp%notfound;
dbms_output.put_line(dname);
end loop;
--關閉游標
close cemp;
end;
列印結果:
注: 取游標中一條資料:
fetch 游標名 into 變數名;
這條語句有兩個作用
<1>將當前指標指向的記錄返回;
<2>將指標指向下一條記錄。
PLSQL游標的使用
1.使用無參游標cursor,查詢所有員工的姓名和工資 如果需要遍歷多條記錄時,使用游標cursor,無記錄找到使用cemp notfound declare 定義游標 cursor cemp is select ename,sal from emp 定義變數 vename emp.ename ty...
PL SQL 引用游標的使用
使用引用游標的情景 1.你可能有這樣的需求 讓乙個函式返回乙個游標,然後宿主函式呼叫並使用這個游標 2.open cursor name for v sql statement 當時用動態sql進行多行查詢時,因為此處的cursour name必須是乙個游標變數,所以需要使用。h還可檢視例子 cre...
PL SQL 中顯式游標的使用
一般在pl sql中使用顯式游標有如下的過程 我們以輸出employees表中員工的姓名為例,進行以下的操作 declare v emp first name employees.first name type v emp last name employees.last name type 宣告游...