Re: help -- cursor inside a function - Mailing list pgsql-general

From Alex Bolenok
Subject Re: help -- cursor inside a function
Date
Msg-id 015501bfe8d3$a88e6130$df02a8c0@artey.ru
Whole thread Raw
In response to help -- cursor inside a function  (jprem <jprem@srmsoft.co.in>)
List pgsql-general
> hello ,
> i have a procedure as below.
>
> --------------------------------------------------------------------------
-----------------------------------
>
> create function retrec(integer) returns integer
> as
>  'declare
>         uid alias for $1;
>   begin
>         declare retrec_cur cursor for select * from jd_user_master where
>
> um_user_id>uid;
>         if found then
>                 fetch 1 from retrec_cur;
>                 move next from retrec_cur;
>                 return 1;
>         end if;
>   end;'
> language 'plpgsql';
> --------------------------------------------------------------------------
-----------------------------------------------
>
> this gets created , but while running it i get the error below,
> --------------------------------------------------------------------------
-----------------------------------------
>
> NOTICE:  plpgsql: ERROR during compile of retrec near line 5
> ERROR:  parse error at or near "cursor"
> --------------------------------------------------------------------------
------------------------------------------------
>
> why this is so ? can anyone help me out ? thanx in advance.

You may use query loops, such as:

DECLARE
    nextrow RECORD;
BEGIN
    FOR nextrow IN SELECT * FROM <table> WHERE <condition> ORDER BY <field>
LOOP
        ...
    END LOOP;
END;

See postgresql HTML documentation for further info.

Alex Bolenok.




pgsql-general by date:

Previous
From: "omid omoomi"
Date:
Subject: Re: Couple of design questions
Next
From: "Alex Bolenok"
Date:
Subject: Re: A Referntial integrity