游标:指针,指向一个查询结果集的指针
1.SQL语句和游标的对应单行查询语句-----可以定义为游标,也可以不定义多行查询结果-----必须定义出游标,然后才能通过游标来提取多个结果增删改语句-------游标是默认设置的
游标的作用:用来处理多行查询结果,他指定了一种多行结果集中提取数据的方式
2.游标的使用:A.显示游标---------------------------------------------------declare --声明一个游标 cursor cur is select ename,job,sal from emp; v_name emp.ename%type; v_job emp.job%type; v_sal emp.sal%type;begin --打开一个游标 open cur; --提取一行 fetch cur into v_name,v_job,v_sal; dbms_output.putline(v_name||v_job||v_sal);
--循环提取所有的纪录 while cur%found loop--如果下一条纪录存在 dbms_output.putline(v_name||v_job||v_sal); fetch cur into v_nmame,v_job,v_sal;--提取下一行 end loop; --关闭 close cur;
exception
when others then dbms_output.putline(SQLCODE||SQLERRM);
end;---------------------------------------------declare cursor cur is select * from emp; rec emp%rowtype;-- 提取现有标emp作为一个新的纪录类型begin open cur; fetch cur into rec; while cur%found loop dbms_output.putline(rec.empno||rec.ename||rec.sal); fetch cur into rec;--提取下一行 end loop; --关闭 close cur;exception
when others then dbms_output.putline(SQLCODE||SQLERRM);
end;