title: Function with SQL query has no destination for result data
body: <p>I am trying to create a function that returns a SELECTed resultset. 
  When I call my postgres function like this <code>select * from  tst_dates_func()</code> I get an error as shown below:</p>
  
  <pre><code>ERROR:  query has no destination for result data
  HINT:  If you want to discard the results of a SELECT, use PERFORM instead.
  CONTEXT:  PL/pgSQL function "tst_dates_func" line 3 at SQL statement
  
  ********** Error **********
  
  ERROR: query has no destination for result data
  SQL state: 42601
  Hint: If you want to discard the results of a SELECT, use PERFORM instead.
  Context: PL/pgSQL function "tst_dates_func" line 3 at SQL statement
  </code></pre>
  
  <p>Here is the function I created:</p>
  
  <pre><code>CREATE OR REPLACE FUNCTION tst_dates_func() 
      RETURNS TABLE( date_value date, date_id int, date_desc varchar) as
  $BODY$   
  BEGIN
      select a.date_value, a.date_id, a.date_desc from dates_tbl a;
  END;
  $BODY$
        LANGUAGE plpgsql;
  </code></pre>
  
  <p>I am not sure why I am getting the above error. I would like to run <code>select * from tst_dates_func();</code> 
  and get data back. Or further join the result set if needed. What is the problem here?</p>