Обсуждение: [GENERAL] cursor declare

Поиск
Список
Период
Сортировка

[GENERAL] cursor declare

От
Peter Koukoulis
Дата:

Hi

This is my first cursor attempt:

according to docs
DECLARE   curs1 refcursor;   curs2 CURSOR FOR SELECT * FROM tenk1;   curs3 CURSOR (key integer) FOR SELECT * FROM tenk1 WHERE unique1 = key;
this should work, but getting error:

ft_node=# declare cur_test1 CURSOR (key integer) for select * from test1 where x=key;
ERROR:  syntax error at or near "("
LINE 1: declare cur_test1 CURSOR (key integer) for select * from tes...

Table is defined as:
psql (9.6.4)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

ft_node=# \d+ test1
                                Table "public.test1"
 Column |         Type          | Modifiers | Storage  | Stats target | Description 
--------+-----------------------+-----------+----------+--------------+-------------
 x      | integer               |           | plain    |              | 
 y      | character varying(20) |           | extended |              | 


Can somebody please help?

P

Re: [GENERAL] cursor declare

От
Tom Lane
Дата:
Peter Koukoulis <pkoukoulis@gmail.com> writes:
> This is my first cursor attempt:

> according to docs

> DECLARE
>     curs1 refcursor;
>     curs2 CURSOR FOR SELECT * FROM tenk1;
>     curs3 CURSOR (key integer) FOR SELECT * FROM tenk1 WHERE unique1 = key;

> this should work, but getting error:

> ft_node=# declare cur_test1 CURSOR (key integer) for select * from test1
> where x=key;
> ERROR:  syntax error at or near "("
> LINE 1: declare cur_test1 CURSOR (key integer) for select * from tes...

It looks like you're trying to use the plpgsql syntax for a cursor
variable as part of a DECLARE CURSOR SQL-level command.  They're not
the same thing at all.  In particular, there isn't any concept of
parameters in the SQL DECLARE CURSOR command.
        regards, tom lane


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