Re: PL/pgSQL function syntax question?

From: aklaver(at)comcast(dot)net (Adrian Klaver)
To: "Ruben Gouveia" <rubes7202(at)gmail(dot)com>, pgsql-sql <pgsql-sql(at)postgresql(dot)org>
Subject: Re: PL/pgSQL function syntax question?
Date: 2008-09-08 21:47:38
Message-ID: 090820082147.15642.48C59D7A00071B2600003D1A22007374789D0A900E04050E@comcast.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


-------------- Original message ----------------------
From: "Ruben Gouveia" <rubes7202(at)gmail(dot)com>
> i get the following error when i try and create the following function:
>
> Basically, i am trying to have two different dates compared and only the
> most recent returned to me. This seems pretty straight forward, what I am
> doing wrong here?
>
> create or replace function fcn_pick_date(v_dt date)
> returns date as $$
> DECLARE
> v_dt date;
> BEGIN
> for v_record in select last_periodic, last_boot
> from mediaportal
> loop
> if v_dt >= v_record.last_boot then
> v_dt := v_record.last_periodic;
> else
> v_dt := v_record.last_boot;
> end if;
> end loop;
> return (v_dt);
> END;
> $$ LANGUAGE 'plpgsql';
>
>
> ERROR: loop variable of loop over rows must be record or row variable at or
> near "loop" at character 195
>
> ********** Error **********
>
> ERROR: loop variable of loop over rows must be record or row variable at or
> near "loop"
> SQL state: 42601
> Character: 195

You need to DECLARE v_record as a RECORD variable.
v_record RECORD;

--
Adrian Klaver
aklaver(at)comcast(dot)net

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message imad 2008-09-08 23:28:51 Re: PL/pgSQL function syntax question?
Previous Message Ruben Gouveia 2008-09-08 21:40:41 PL/pgSQL function syntax question?