Oracle存储过程和游标操作
1.创建一个存储过程(名称为pro7),将所有员工的基本工资提高20%,要求增加的幅度不超过300元。并调用该存储过程,并且将每名员工调薪前后的工资输出到屏幕。2.创建一...
1.创建一个存储过程(名称为pro7),将所有员工的基本工资提高20%,要求增加的幅度不超过300元。
并调用该存储过程,并且将每名员工调薪前后的工资输出到屏幕。
2.创建一个存储过程(名称为pro8),要求实现对员工的编号进行重新排序,使得每名员工的编号依次增加。即要求第1个人的编号是1,第二个人的编号是2,…
并调用该存储过程,要求将调整编号之后整个表格的内容输出到屏幕。
两个题目请使用游标输出
第二题可以借助表格的地址(rowid)来对员工编号进行设置 展开
并调用该存储过程,并且将每名员工调薪前后的工资输出到屏幕。
2.创建一个存储过程(名称为pro8),要求实现对员工的编号进行重新排序,使得每名员工的编号依次增加。即要求第1个人的编号是1,第二个人的编号是2,…
并调用该存储过程,要求将调整编号之后整个表格的内容输出到屏幕。
两个题目请使用游标输出
第二题可以借助表格的地址(rowid)来对员工编号进行设置 展开
推荐于2017-10-04 · 知道合伙人数码行家
关注
展开全部
-- 第一个题目,我的表叫stu,你别忘了改成你的表名
create or replace procedure pro7
as
cursor c_emp1 is select ename,sal from stu;
vename stu.ename%type;
vsal stu.sal%type;
vnewsal stu.sal%type;
vfd number := 0;
begin
open c_emp1;
loop
fetch c_emp1 into vename,vsal;
exit when c_emp1%notfound;
vfd := vsal*0.2;
if vfd <= 300
then update stu set sal = sal+vfd where ename=vename;
vnewsal := vsal+vfd;
dbms_output.put_line('员工' || vename || '涨了' || vnewsal || '工资');
end if;
end loop;
close c_emp1;
end;
追问
第二题?
追答
你不给分!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询