Basic Oracle Concepts and Programming Question:
Download Questions PDF

How To Assign Data of the Deleted Row to Variables?

Oracle Database Interview Question
Oracle Database Interview Question

Answer:

If a DELETE statement is deleting a single row, you can assign column values of the deleted row to variables by using the RETURNING clause, which an extension of DELETE statements for PL/SQL. The tutorial script shows you how to do this:

CREATE TABLE emp_temp AS SELECT * FROM employees;

DECLARE
fname VARCHAR2(10);
lname VARCHAR2(10);
BEGIN
DELETE FROM emp_temp WHERE employee_id = 100;
RETURNING first_name, last_name INTO fname, lname;
DBMS_OUTPUT.PUT_LINE('Name deleted = ' || fname || ' '
|| lname);

-- This will not work because multiple rows deleted
-- DELETE FROM emp_temp WHERE employee_id > 100;
-- RETURNING first_name, last_name INTO fname, lname;
END;
/
Name deleted = Steven King

Similar to SELECT ... INTO, RETURNING ... INTO will not work if multiple rows are deleted.

Download Oracle Database Interview Questions And Answers PDF

Previous QuestionNext Question
What Is the Implicit Cursor in Oracle?What Is a RECORD in PL/SQL?