Oracle 存储过程和方法全攻略:实战详解调用技巧与注意事项
CREATE OR REPLACE PROCEDURE raise_salary(p_id IN EMPLOYEES.EMPLOYEE_ID%TYPE)
AS
v_salary EMPLOYEES.SALARY%TYPE;
BEGIN
SELECT SALARY INTO v_salary FROM EMPLOYEES WHERE EMPLOYEE_ID = p_id;
IF v_salary IS NOT NULL THEN
UPDATE EMPLOYEES SET SALARY = SALARY * 1.1 WHERE EMPLOYEE_ID = p_id;
COMMIT;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Employee not found.');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('An error occurred: ' || SQLERRM);
END raise_salary;
这个例子展示了如何创建一个简单的Oracle存储过程,用于提高特定员工的工资。它首先检查员工是否存在,如果存在,它就会将该员工的工资提高10%,并提交更改。如果出现异常,它会输出相应的错误信息。这个例子教会开发者如何在Oracle数据库中处理异常和事务。
评论已关闭