PL/SQL的应用操作实例以及解析(二)

2014-11-24 16:18:18 · 作者: · 浏览: 4
when no_data then
dbms_output.put_line('没有找到数据');
end;
--显示部门号为30的员工信息
declare
--查询出所有的emp记录存储到cl游标中
cursor cl(dno number) is select * from dept where deptno=dno;
begin
for dept_row in cl(30) --打开游标(自动) 检索数据 关闭游标 emp_row 变量也不需要定义
loop
dbms_output.put_line('部门名称:'||dept_row.dname||' 员工:'||dept_row.loc);
-- dbms_output.put_line(dept_row.loc);
end loop;
end;
--为员工添加工资
declare
--定义光标,查询job岗位 和员工号
cursor cr is select empno,job from emp;
--声明一个变量 此变量的类型与emp中job类型一致
pjob emp.job%type;
epno emp.empno%type;
--开始
begin
--打开游标
open cr;
loop
--取出游标
fetch cr into epno,pjob;
exit when cr%notfound;--判断游标是否存在
if pjob='CLERK' then update emp set sal=sal+1000 where empno = epno;
elsif pjob='MANAGER' then update emp set sal=sal+800 where empno=epno;
else update emp set sal=sal+400 where empno=epno;
end if;
end loop;
close cr;
end;
select * from emp;