oracle自带的emp表,写一个过程输入部门deptno=10时,10部门的所有员工工资加100;输入部门deptno=10时,20部门的所有员工工资加200,谢了!
解决方案 »
- oracle 10g递归查询 求高手帮忙解决 跪谢!!!
- 用exp导数据报错问题
- 怎么查每一项由那些叶子项组成?
- oracle配置问题,急~!
- ---c#调用oracle存储过程的调用问题---
- 需要一个函数 知道一个字符串在另一个字符串中出现几次
- Oracle 列名总是自动变成大写???
- oracle 9i(9.2)安装报错
- 在oracle8i中这个怎么写
- 同样一条sql,在command window中能查出数据,sql window却查不出
- oracle存储过程中用utl_file包生成xml文件内容追加问题
- PLS-00905: 对象 MYCODELIBRARY.FIND_SUBJECT 无效
写错了吧,应该是输入deptno = 20时,20的工资加200吧
create or replace procedure TEST1(DNO in NUMBER) is v_emp_record scott.emp%rowtype;
cursor c1 is
select * from scott.emp t where t.deptno = DNO;
begin
open c1;
loop
fetch c1
into v_emp_record;
exit when c1%notfound;
if v_emp_record.deptno = 10 then
v_emp_record.sal := v_emp_record.sal + 100;
dbms_output.put_line('NAME '||v_emp_record.Ename||' DEPTNO '||
v_emp_record.Deptno||' 10部门员工的工资加100后为:' || v_emp_record.sal);
elsif v_emp_record.deptno = 20 then
v_emp_record.sal := v_emp_record.sal + 200;
dbms_output.put_line('NAME '||v_emp_record.Ename||' DEPTNO '||
v_emp_record.Deptno||' 20部门员工的工资加200后为:' || v_emp_record.sal);
elsif v_emp_record.deptno not in (10, 20) then
dbms_output.put_line('NAME '||v_emp_record.Ename||' DEPTNO '||
v_emp_record.Deptno||' 其他部门的员工工资不变:' || v_emp_record.sal);
end if;
end loop;
close c1;
end;