greetings. I'm trying to write a function that acts like a switchboard,
calling other functions depending on incoming parameters.
I'm getting error: query has no destination for result data
Please advise what we're doing wrong. The subfunctions return a series of
refcursors in a single table and single row (see pr_test_subfunction).
When i run the parent function, i want to see the same results as if i had
run the subfunction - the results of the subfunction should pass-thru to the
parent calling function. Can this be done?

Subfunction:
[CODE]
CREATE OR REPLACE FUNCTION dev.pr_test_subfunction (
  v_action varchar,
  out swv_refcur refcursor,
  out swv_refcur2 refcursor,
  out swv_refcur3 refcursor,
  out swv_refcur4 refcursor,
  out swv_refcur5 refcursor
)
RETURNS record AS
$body$
DECLARE
   SWV_Action VARCHAR(50) DEFAULT Coalesce(v_Action,'');
   
BEGIN
    OPEN SWV_RefCur  for SELECT 1;
    OPEN swv_refcur2 for SELECT 2;
    OPEN swv_refcur3 for SELECT 3;
    OPEN swv_refcur4 for SELECT 4;
    OPEN swv_refcur5 for SELECT 5;
    RETURN;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;
[/CODE]

Parent Function:
[CODE]
CREATE OR REPLACE FUNCTION dev.pr_test_parentfunction (
  v_action varchar,
  out swv_refcur refcursor,
  out swv_refcur2 refcursor,
  out swv_refcur3 refcursor,
  out swv_refcur4 refcursor,
  out swv_refcur5 refcursor
)
RETURNS record AS
$body$
DECLARE
   SWV_Action VARCHAR(50) DEFAULT Coalesce(v_Action,'1');
   
BEGIN
    
    IF SWV_Action = '1' THEN
        SELECT * FROM dev.pr_test_subfunction(SWV_Action); 
    ELSIF SWV_Action = '2' THEN
        SELECT * FROM dev.pr_test_subfunction(SWV_Action); 
    ELSE
        OPEN SWV_RefCur  for SELECT 1;
        OPEN swv_refcur2 for SELECT 2;          
    END IF;

    RETURN;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;
[/CODE]




--
View this message in context: 
http://postgresql.1045698.n5.nabble.com/postgres-subfunction-return-error-tp5772407.html
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to