③ 단일 로우 DELETE
DELETE문 역시 UPDATE문과 동일한 방식으로 RETURNING INTO 절을 사용해 삭제된 로우 정보를 가져올 수 있다. 먼저 단일 로우를 삭제하는 DELETE문을 살펴 보자. 사원 테이블을 복사한 emp_bk 테이블을 만들어 삭제해 보자.
입력
CREATE TABLE emp_bk AS
SELECT *
FROM employees;
결과
table EMP_BK이(가) 생성되었습니다.
입력
DECLARE
vn_salary NUMBER := 0;
vs_empname VARCHAR2(30);
BEGIN
-- 171번 사원 삭제
DELETE emp_bk
WHERE employee_id = 171
RETURNING emp_name, salary
INTO vs_empname, vn_salary;
COMMIT;
DBMS_OUTPUT.PUT_LINE('삭제 사원명 : ' || vs_empname);
DBMS_OUTPUT.PUT_LINE('삭제된 급여 : ' || vn_salary);
END;
결과
삭제사원명 : William Smith
삭제된급여 : 7400
171번 사원이 삭제됐지만 RETURNING INTO 절을 사용해 삭제된 사원의 정보를 가져왔다. 위 예제에서는 사원명과 급여만 가져왔지만 삭제된 로우의 어느 컬럼이라도 그 값을 변수에 담아 올 수 있다.