Difficulty: Easy
Correct Answer: Both :new and :old
Explanation:
Introduction / Context:
Oracle Database supports row-level triggers that fire for each affected row during INSERT, UPDATE, or DELETE operations. Inside these triggers, Oracle exposes special pseudo-records to read or assign column values. Knowing which prefixes are available is essential for correct trigger logic.
Given Data / Assumptions:
Concept / Approach:
:new refers to the new column values (after change) and :old refers to the original column values (before change). Their availability depends on the DML operation: INSERT provides :new, DELETE provides :old, and UPDATE provides both.
Step-by-Step Solution:
Verification / Alternative check:
Oracle PL/SQL documentation consistently demonstrates :new and :old usage within row-level triggers for all three DML events.
Why Other Options Are Wrong:
:new only and :old only are each incomplete because availability depends on the DML statement. 
Neither :new nor :old is false since Oracle exposes these pseudo-records in row-level triggers.
Common Pitfalls:
Trying to assign to :old in UPDATE/INSERT triggers (not allowed). Also, attempting to reference :new in DELETE triggers or :old in INSERT triggers will fail.
Final Answer:
Both :new and :old
Discussion & Comments