| From: | "Alex Bolenok" <abolen(at)chat(dot)ru> | 
|---|---|
| To: | "pgsql-general" <pgsql-general(at)postgresql(dot)org> | 
| Subject: | Re: help -- cursor inside a function | 
| Date: | 2000-07-08 11:57:08 | 
| Message-ID: | 015501bfe8d3$a88e6130$df02a8c0@artey.ru | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | 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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alex Bolenok | 2000-07-08 11:58:28 | Re: A Referntial integrity | 
| Previous Message | Jan Wieck | 2000-07-08 11:29:17 | Re: Re: [SQL] Re: [GENERAL] lztext and compression ratios.... |