declare
  -- DELETE RETURNs one row

  -- static SQL
  -- fails at 9.2.0 with PL/SQL: ORA-00936:
  -- missing expression
  --
  -- CANNOT AVOID NAMING COLUMNS YET

  --
  v_employee_id employees_0.employee_id%type := 100;
  v_emprec employees_0%rowtype;
begin
  delete from employees_0 where employee_id = v_employee_id
    returning * into v_emprec

    /* this may or may not be the syntax that is supported in a later realease */;
end;
/
-- ERROR at line N:
rollback /* prepare for repeat or for next sample */;
-- Rollback complete.






declare
  -- WORKAROUND
  -- List all the columns for RETURNING in the SQL
  -- target out-bind CAN be a RECORD

  -- fails at 9.0.1 with ORA-00600:
  -- internal error ...
  v_employee_id employees_0.employee_id%type := 100;
  v_emprec employees_0%rowtype;
begin
  delete from employees_0 where employee_id = v_employee_id
    returning
      employee_id,
      first_name,

      last_name,
      email,
      phone_number,
      hire_date,
      job_id,
      salary,
      commission_pct,
      manager_id,
      department_id
    into v_emprec;

  Emp_Util.Show_One ( v_emprec );
end;
/
-- PL/SQL procedure successfully completed.
rollback /* prepare for repeat or for next sample */;
-- Rollback complete.