Oracle的存储过程编程 第九讲:隐式游标的使用
例1:
-----------------------------------------------------------------------------------------------------------------
declare
begin
for emp_record in(select * from emp)
loop
dbms_output.put_line('姓名:'||emp_record.ename||' 部门编号:'||emp_record.ename);
end loop;
end;
-------------------------------------------------------------------------------------------------------------------
例2:
-------------------------------------------------------------------------------------------------------------------------
declare
begin
update emp set sal=sal*(1+0.2) where job='SALESMAN';
if sql%notfound then --如果update语句没有影响到任何一行数据,则执行
dbms_output.put_line('没有雇员需要上调工资');
else--如果update语句至少影响到一行数据,则执行
dbms_output.put_line('有'||sql%rowcount||'个雇员工资上调20%');
end if;
end;
-------------------------------------------------------------------------------------------------------------------------
在PL/SQL块中执行SELECT、INSERT、DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区。游标是指向该区的一个指针,或是命名一个工作区(Work Area),或是一种结构化数据类型。