Plsql 部门id=80的每位员工的程序升级佣金

Plsql 部门id=80的每位员工的程序升级佣金,plsql,Plsql,我试图编写一个程序,为80部门的每位员工升级佣金pct,新的佣金pct为(工作年数/10)*0.5。 这是我的密码。我的问题是如何将这个新的佣金pct添加到代码中并调用该过程。谢谢 PROCEDURE increase_comm(department_id NUMBER, comm_incr NUMBER) IS curr_comm NUMBER; BEGIN SELECT commission_pct INTO curr_comm FROM employees

我试图编写一个程序,为80部门的每位员工升级佣金pct,新的佣金pct为(工作年数/10)*0.5。 这是我的密码。我的问题是如何将这个新的佣金pct添加到代码中并调用该过程。谢谢

PROCEDURE increase_comm(department_id NUMBER, comm_incr NUMBER) IS 
    curr_comm NUMBER; 
BEGIN 
  SELECT commission_pct 
  INTO curr_comm 
  FROM employees 
  WHERE employees.department_id = increase_comm.department_id; 
  IF curr_comm IS NULL 
     THEN RAISE no_comm; 
  ELSE 
     UPDATE employees 
     SET commission_pct = commission_pct + comm_incr; 
  END IF; 
END; 

你把问题解释得很混乱,但如果我是对的, 假设comm_incr为0.5,则:

PROCEDURE increase_comm(deptno NUMBER, comm_incr NUMBER) IS 
    curr_comm NUMBER; 
BEGIN 
  SELECT commission_pct 
  INTO curr_comm 
  FROM employees 
  WHERE department_id = deptno;
  IF curr_comm IS NULL 
     THEN RAISE no_comm; 
  ELSE 
     UPDATE employees 
     SET commission_pct = curr_comm * comm_incr; 
  END IF; 
END; 
您可以这样执行的过程:

begin
 execute increase_comm(80,0.5);
 end;