DECLARE
emp EMPLOYEE_TYP;
emp_ref REF EMPLOYEE_TYP;
emp_name VARCHAR2(50);
BEGIN
SELECT Ref(e)
INTO emp_ref
FROM employee_tab e
WHERE e.employee_id = 370;
-- the following assignment raises an error, not allowed in PL/SQL
-- emp_name := emp_ref.first_name || ' ' || emp_ref.last_name;
-- emp := DEREF(emp_ref); not allowed, cannot use DEREF in procedural statements
SELECT Deref(emp_ref)
INTO emp
FROM dual; -- use dummy table DUAL
emp_name := emp.first_name
||' '
||emp.last_name;
dbms_output.Put_line(emp_name);
END;
/
Using DEREF in a SELECT INTO Statement
0 comments:
Post a Comment