##接收一个雇员名,实现加薪处理。此处的接收为手工输入##
–职位
加薪幅度
–Clerk 500
– Salesman 1000
– Analyst 1500
– OtherWise 2000
–要求:接收一个雇员名,实现加薪处理。此处的接收为手工输入
DECLARE
emm emp%ROWTYPE;
BEGIN
SELECT *
INTO emm
FROM emp
WHERE ename=UPPER('&ename');
--判断
IF emm.job=UPPER('clerk') THEN
UPDATE emp SET sal=sal+500 WHERE empno=emm.empno;
ELSIF emm.job=UPPER('Salesman') THEN
UPDATE emp SET sal=sal+1000 WHERE empno=emm.empno;
ELSIF emm.job=UPPER('analyst') THEN
UPDATE emp SET sal=sal+1500 WHERE empno=emm.empno;
ELSE
UPDATE emp SET sal=sal+2000 WHERE empno=emm.empno;
END IF;
--输出结果
dbms_output.put_line(emm.ename||'的工资成功修改为' ||emm.sal);
COMMIT;
--员工不存在的异常
EXCEPTION
WHEN no_data_found THEN
raise_application_error(-20009,'员工不存在');
END;