/*游標
目的:為了處理select語句返回多行資料
使用步驟:
1、定義游標
cursor cursor_name is select_statement
2、開啟游標
open cursor_name
3、提取資料
fetch cursor_name into variable1,... --提取一行資料
或fetch cursor_name into bulk collect collect1,... --提取多行資料
4、關閉游標
close cursor_name
顯示游標屬性:
使用方法:cursor_name%游標屬性
常用游標屬性:
%isopen
%found
%not found
%rowcount
*/declare
cursor emp_cursor
isselect ename,sal from emp where deptno=20;
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
open emp_cursor;
loop
fetch emp_cursor into v_ename,v_sal;
exit when emp_cursor%notfound;
dbms_output.put_line('姓名:' || v_ename || ',薪水:' || v_sal);
end loop;
close emp_cursor;
end;
/*引數游標
cursor cursor_name (parameter_name datatype)
is select_statement
*/declare
cursor getuser_cursor(cno number)
is select ename,sal from emp where deptno=cno;
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
if not getuser_cursor%isopen then
open getuser_cursor(&no);
end if;
loop
fetch getuser_cursor into v_ename,v_sal;
exit when getuser_cursor%notfound;
dbms_output.put_line('姓名:' || v_ename || ',薪水:' || v_sal);
end loop;
close getuser_cursor;
end;
select * from emp;
/*游標的for迴圈
for record_name in cursor_name loop
statement1;
...end loop;
注意:使用游標的for迴圈時,不要顯示的開啟和關閉游標
*/declare
cursor showemp_cursor
is select ename from emp where deptno=&no;
begin
for emp_name in showemp_cursor
loop
dbms_output.put_line('第' || showemp_cursor%rowcount || '個員工' || emp_name.ename);
end loop;
end;
/*在使用游標迴圈時可以直接在游標for迴圈中使用子查詢*/
begin
for emp_name in (select ename from emp where deptno=&no)
loop
dbms_output.put_line('員工:' || emp_name.ename);
end loop;
end;
mysql中使用游標
sql view plain copy set max sp recursion depth 100 下面是mysql遞迴呼叫的源 sql view plain copy dropdelimiter createin uidvarchar 225 in ncountint begin declare...
Oracle使用游標
了解一下訪問資料庫的ddl和tcl語句 一。plsql中使用select語句,應該與into字句連用,查詢出的返回值賦予into子句中的變數 變數的宣告是在delcare中 二。type屬性 在plsql中可以將變數和常量宣告為內建或使用者定義的資料型別,以引用乙個列名,同時繼承他的資料型別和大小。...
在Oracle過程中使用游標
create or replace procedure ss c002 tm14to13 p errcode out number,p errtext out varchar2 is isbn轉換條碼,14位錯誤的轉換成13位正確的 yc2008 04 18 cursor c gckc is sel...