-- 声明游标;CURSOR cursor_name IS
select_statement
--For 循漫游标
--(1)定义游标
--(2)定义游标变量
--(3)使用for轮回往使用谁人游标
declare
--规范定义
cursor c_job
is
select
empno,ename,job,sal
from emp
where job="MANAGER";
--定义一个游标变量v_cinfo c_emp%ROWTYPE
,该规范为游标c_emp中的一行数据规范
c_row c_job%rowtype;
begin
for c_row in c_job loop
dbms_output.put_line(c_row.empno||"-"||c_row.ename||"-"||c_row.job||"-"||c_row.sal);
end loop;
end;
--Fetch游标
--使用的时间必须要发略的挨开战闭闭
declare
--规范定义
cursor c_job
is
select
empno,ename,job,sal
from emp
where job="MANAGER";
--定义一个游标变量
c_row c_job%rowtype;
begin
open c_job;
loop
--提取一行数据到c_row
fetch c_job into c_row;
--判读是否提取到值,没取到值就退出
--取到值c_job%notfound 是false
--取不到值c_job%notfound 是true
exit when c_job%notfound;
dbms_output.put_line(c_row.empno||"-"||c_row.ename||"-"||c_row.job||"-"||c_row.sal);
end loop;
--闭闭游标
close c_job;
end;
--1:任意实施一个update操做,用隐式游标sql的属性%found,%notfound,%rowcount,%isopen不雅察update语句的实施状况。
begin
update emp set ENAME="ALEARK"
WHERE EMPNO=7469;
if sql%isopen then