Create or replace procedure Proc_AddSalary
(p_empid in integer,p_salary in number)
Is
v_sal NUMBER(5);
sal_exp EXCEPTION;
sal_beyond EXCEPTION;
Begin
update scott.emp set sal=sal+p_salary where empno=p_empid;
select sal into v_sal from scott.emp where empno=p_empid;
IF v_sal IS NULL THEN
RAISE sal_exp;
ELSIF v_sal>5000 THEN
RAISE sal_beyond;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE(TO_CHAR(p_empid)||'无此职工');
WHEN sal_exp THEN
DBMS_OUTPUT.PUT_LINE(TO_CHAR(p_empid)||'工资为空');
WHEN sal_beyond THEN
{
DBMS_OUTPUT.PUT_LINE(TO_CHAR(p_empid)||'工资超过5000');
update scott.emp set sal=5000 where empno=p_empid;
}
End Proc_AddSalary;编个存储过程,结果在EXCEPTION中的sal_beyond里面那个“{”与“}”提示说有问题。请问怎样才能使DBMS_OUTPUT.PUT_LINE(TO_CHAR(p_empid)||'工资超过5000');
update scott.emp set sal=5000 where empno=p_empid;
这两句在sal_beyond这个里面执行?还是说这样就可以了?