DELETE 命令(SQL 語言中提供的)也可以在 SPL 程序中使用。

在 SQL DELETE 命令中允許表達式時,可以使用 SPL 語言中的表達式。因此,SPL 變量和參數可用于向刪除操作提供值。

CREATE OR REPLACE PROCEDURE emp_delete (
    p_empno         IN emp.empno%TYPE
)
IS
BEGIN
    DELETE FROM emp WHERE empno = p_empno;

    IF SQL%FOUND THEN
        DBMS_OUTPUT.PUT_LINE('Deleted Employee # : ' || p_empno);
    ELSE
        DBMS_OUTPUT.PUT_LINE('Employee # ' || p_empno || ' not found');
    END IF;
END;

如果行已刪除,則 SQL%FOUND 條件表達式返回 TRUE,否則返回 FALSE。

EXEC emp_delete(9503);

Deleted Employee # : 9503

SELECT * FROM emp WHERE empno = 9503;

 empno | ename | job | mgr | hiredate | sal | comm | deptno
-------+-------+-----+-----+----------+-----+------+--------
(0 rows)