Re: [GENERAL] cursor question

2009-02-25 Thread Pavel Stehule
Hello

when you would to change name of table - you have to use dynamic query

38.7.2.2. OPEN FOR EXECUTE

OPEN unbound_cursor [ [ NO ] SCROLL ] FOR EXECUTE query_string;


http://www.postgresql.org/docs/8.3/interactive/plpgsql-cursors.html

regards
Pavel Stehule

2009/2/25 Andreas Wenk a.w...@netzmeister-st-pauli.de:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Hi,

 short question. Why is this not possible:

 CREATE OR REPLACE FUNCTION user_cursor_open(text) RETURNS refcursor AS $$
 DECLARE
        curs1 CURSOR FOR SELECT * FROM $1;
 BEGIN
        OPEN curs1;
        RETURN curs1;
 END; $$ LANGUAGE plpgsql;

 Or, how do I set a parameter when using cursor?

 Thanks in advance

 - --
 St.Pauli - Hamburg - Germany

 Andreas Wenk


 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.6 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

 iD8DBQFJpWlyVa7znmSP9AwRAv2MAJ9jHICtLeIEv+QVzeqBWSkheXDmpgCgwMUH
 t0/HWRPsx56jGhSVUQXyb9I=
 =XMXi
 -END PGP SIGNATURE-

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


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


Re: [GENERAL] cursor question

2009-02-25 Thread Andreas Wenk
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Pavel Stehule schrieb:
 Hello
 
 when you would to change name of table - you have to use dynamic query
 
 38.7.2.2. OPEN FOR EXECUTE
 
 OPEN unbound_cursor [ [ NO ] SCROLL ] FOR EXECUTE query_string;
 
 
 http://www.postgresql.org/docs/8.3/interactive/plpgsql-cursors.html
 
 regards
 Pavel Stehule

Hi Pavel,

thanks a lot. It works for me like this:

CREATE OR REPLACE FUNCTION user_cursor_test(refcursor,text) RETURNS refcursor 
AS $$
BEGIN
OPEN $1 FOR EXECUTE 'SELECT name FROM ' || $2;
RETURN $1;
END; $$ LANGUAGE plpgsql;

Cheers

Andy


 2009/2/25 Andreas Wenk a.w...@netzmeister-st-pauli.de:
 Hi,
 
 short question. Why is this not possible:
 
 CREATE OR REPLACE FUNCTION user_cursor_open(text) RETURNS refcursor AS $$
 DECLARE
curs1 CURSOR FOR SELECT * FROM $1;
 BEGIN
OPEN curs1;
RETURN curs1;
 END; $$ LANGUAGE plpgsql;
 
 Or, how do I set a parameter when using cursor?
 
 Thanks in advance
 

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


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJpYU2Va7znmSP9AwRAgGAAJ9En2TEupu7t994DIxi9ql5LH5sXACdHIi1
jNiaLX2mEmYWRxHDcGavbsM=
=XUcF
-END PGP SIGNATURE-

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