首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求个容易存储过程!谢了

2013-04-20 
求个简单存储过程!谢了oracle自带的emp表,写一个过程输入部门deptno10时,10部门的所有员工工资加100;输入

求个简单存储过程!谢了
oracle自带的emp表,写一个过程输入部门deptno=10时,10部门的所有员工工资加100;输入部门deptno=10时,20部门的所有员工工资加200,谢了!
[解决办法]
自己看书吧这么懒怎么行
[解决办法]

引用
oracle自带的emp表,写一个过程输入部门deptno=10时,10部门的所有员工工资加100;输入部门deptno=10时,20部门的所有员工工资加200,谢了!


写错了吧,应该是输入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;

热点排行