title: Return Multiple Values from Oracle Function
body: <p>I want to create a function that returns multiple rows into a table that is of object type. </p>
  
  <p>I have created an object and a nested table object and now when I run the function there is an error which says </p>
  
  <p>PL/SQL: SQL Statement ignored
  PL/SQL: ORA-00947: not enough values</p>
  
  <pre><code>-- Object type creation
  create or replace type test_object_sn as object
  (
      column_1 varchar2(30),
      column_2 varchar2(30),
      column_3 number 
  );
  
  
  -- Table of object
  create or replace type test_otable_sn as table of test_object_sn; 
  
  -- function (where I get an error)
  create or replace function load_test_object_sn
  return test_otable_sn
  as  
      details test_otable_sn;
  begin
      with ad as (select 'a', 'b', 4   from dual
      union all 
      select 'r', '5', 3  from dual
      union all
      select 'g', 's', 3  from dual)
      select * into details from ad; 
  
      return details;
  end;
  </code></pre>
  
  <p>I want to have the test_otable_sn table object loaded with the data and then query it using the table() function via my load_test_object_sn function
  e.g.  <code>select * from table(load_test_object_sn);</code></p>