CREATE OR REPLACE PROCEDURE WHERE_CURRENT
IS
CURSOR EMP_LIST IS
SELECT EMPNO
, ENAME
, SAL
FROM EMP
WHERE EMPNO = 1000
FOR UPDATE;
BEGIN
DBMS_OUTPUT.ENABLE;
DBMS_OUTPUT.PUT_LINE('***** 更新操作 *****');
FOR EMPLIST IN EMP_LIST LOOP
UPDATE EMP
SET JOB = 'PM'
, SAL = 1000
WHERE CURRENT OF EMP_LIST;
DBMS_OUTPUT.PUT_LINE('***** 修改完成 *****');
END LOOP;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERR CODE : ' || TO_CHAR(SQLCODE));
DBMS_OUTPUT.PUT_LINE('ERR MESSAGE : ' || SQLERRM);
END WHERE_CURRENT;

本文提供了一个使用PL/SQL进行数据库记录更新的具体示例。示例中定义了一个游标来选择特定员工,并通过循环更新该员工的工作职位及薪资。
668

被折叠的 条评论
为什么被折叠?



