Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

How to create a function with multiple RefCursor OUT parameters



I have the following function:

CREATE OR REPLACE FUNCTION test_refcursor(INOUT tcount integer, OUT o_user refcursor, OUT o_name refcursor)
 RETURNS record AS
$BODY$
BEGIN
   tcount := tcount + 1;
   OPEN o_user FOR SELECT * FROM user_table;
   OPEN o_name FOR SELECT * FROM name_table;
END;
$BODY$
 LANGUAGE 'plpgsql' VOLATILE

Question 1: The function is not working with Npgsql .NET data provider. It did not return a valid .NET DataSet. But the INOUT parameter tcount works fine. How could I test the above function with SQL in pgAdmin III? I want to find out if problem is in the function or in the Npgsql.

Question 2: pgAdmin III automatically added "RETURNS record" in the above function when RETURNS clause is not specified initially. Why is that? Is this the problem since it returns only single data table with the following value? How to fix it?

tcount 	o_user 	o_name
23 	<unnamed portal 1> 	<unnamed portal 2>


Question 3: I want to return a single DataSet with each OUT RefCursor map to a DataTable within the DataSet, plus extra OUT parameters for individual OUT values. How could I create such a function?

Any help is appreciated.



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group