declare
  -- SELECT returns one row

  -- dynamic SQL
  -- OK at 9.0.1
  v_employee_id employees.employee_id%type := 100;
  v_emprec employees%rowtype;
begin

  execute immediate '
    select * from employees where employee_id = :employee_id'
      into v_emprec using v_employee_id;
  Emp_Util.Show_One ( v_emprec );
end;
/

-- PL/SQL procedure successfully completed.





declare

  -- alternative syntax, binding explicit column list
  -- to RECORD with corresponding structure
  -- OK at 9.0.1
  v_employee_id employees.employee_id%type := 100;
  v_emprec employees%rowtype;
begin
  execute immediate '
    select

      employee_id,
      first_name,
      last_name,
      email,
      phone_number,
      hire_date,
      job_id,
      salary,
      commission_pct,

      manager_id,
      department_id
      from employees where employee_id = :employee_id'
      into v_emprec using v_employee_id;
  Emp_Util.Show_One ( v_emprec );
end;
/
-- PL/SQL procedure successfully completed.