[PL/pgSQL] How should I use FOUND special variable. Documentation is little unclear for me

From: "Jeremiasz Miedzinski" <jmiedzinski(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: [PL/pgSQL] How should I use FOUND special variable. Documentation is little unclear for me
Date: 2006-11-09 12:15:26
Message-ID: d0f7f1a80611090415g712381f9j8cb201ccc5ef33e5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello.

I'm porting some procedures from PL/SQL and I encountered following
problem:
In PL/SQL I'm using this statement related to cursor:

OPEN crs_cnt(start_millis, end_millis);
LOOP
FETCH crs_cnt into row_cnt;
EXIT WHEN crs_cnt%NOTFOUND;
insert into spm_audit_stats values(SEQ_SPM_ID_AUTO_INC.nextval,
start_millis, base_stat_period, row_cnt.adt_count, row_cnt.adt_avg,
row_cnt.adt_max, row_cnt.adt_min, row_cnt.adt_stdev,
row_cnt.adt_service_name, row_cnt.adt_root_user);
global_counter := global_counter + 1;
END LOOP;
CLOSE crs_cnt;

Now, I need to do the same action in PL/pgSQL. It's rather simple, but I
don't know how to use FOUND variable described in documentation:

FETCH retrieves the next row from the cursor into a target, which may be a
row variable, a record variable, or a comma-separated list of simple
variables, just like SELECT INTO. As with SELECT INTO, the special variable
FOUND may be checked to see whether a row was obtained or not.

When I'm trying to use it in Oracle way, my DB reports error. Also I tried
to use it like that:

IF NOT crs_cnt%FOUND THEN ...

But it also doesn't worked for me.

Thanks for any help.

Kind Regards.

--
-- audi vide sile --

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2006-11-09 12:26:00 Re: reproducing this issue on PG 8.0.0 ERROR: index "patient_pkey" is not a btree
Previous Message Richard Huxton 2006-11-09 12:12:38 Re: planer picks a bad plan (seq-scan instead of index)