Re: Select into with dynamic criteria in a plpgsql function

From: Paul Lambert <paul(dot)lambert(at)autoledgers(dot)com(dot)au>
To: pgsql-sql <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Select into with dynamic criteria in a plpgsql function
Date: 2007-10-28 23:19:55
Message-ID: 4725191B.5030209@autoledgers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Paul Lambert wrote:
> I've got a function defined in PL/PgSQL to update some fields in a
> record where the criteria for pulling out some other values from a table
> is dynamic.
>
> I define a string called account_criteria to which I assign a normal SQL
> WHERE clause based on some work done earlier in the function. I then
> need to pull out some values from a table based on that where clause so
> I'm doing something like:
>
> SELECT amt_ytd INTO yesterday_amt_ytd FROM finbalance WHERE
> account_criteria;
>
> Which returns the following:
>
> ERROR: argument of WHERE must be type boolean, not type text
> SQL state: 42804
> Context: SQL statement "SELECT amt_ytd FROM finbalance WHERE $1 "
> PL/pgSQL function "fn_update_daily_balance" line 27 at SQL statement
>
> I assume I would need something like EXECUTE to do this... but SELECT
> INTO is not supported in EXECUTE so I have a bit of a conundrum. :(
>
> Can anyone offer some suggestion(s) on how can I make my function
> behave? Non-violent suggestions would be preferable.
>

Ignore this - I didn't notice execute <blah> into <variable> - I've just
re-read the manual and worked it out.

Thanks.

--
Paul Lambert
Database Administrator
AutoLedgers

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message dev 2007-10-29 09:18:38 update from select
Previous Message Paul Lambert 2007-10-28 23:11:00 Select into with dynamic criteria in a plpgsql function