| From: | Michael Swierczek <mike(dot)swierczek(at)gmail(dot)com> | 
|---|---|
| To: | DrYSG <ygutfreund(at)draper(dot)com> | 
| Cc: | pgsql-novice(at)postgresql(dot)org | 
| Subject: | Re: IN Operator query | 
| Date: | 2012-07-05 14:48:07 | 
| Message-ID: | CAHp1f1NjjGKp_pr8wFujJccZdNRxf+b1pcMahsjfFySEAo5YLw@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-novice | 
On Thu, Jul 5, 2012 at 10:31 AM, DrYSG <ygutfreund(at)draper(dot)com> wrote:
> I made a naive and stupid assumption that I could pass in a TEXT parameter to
> a plpsql Stored Procedure, and use that value in a IN SQL operation.
>
> That is
>
> My naïve hope was that if iFILTER was set to: "CADRG, DTED1, DTED2, SRTF"
>
> (cat.type in (iFilter)) would expand to:
>
> (cat.type in (CADRG, DTED1, DTED2, SRTF))
>
> But that is not working.
>
I believe using the PostgreSQL array type might help,
http://www.postgresql.org/docs/9.1/static/arrays.html
Instead of declaring your iFilter parameter as TEXT, declare it as ARRAY.
Then instead of 'CADRG, DTED1, DTED2, SRTF' you would put the input
parameter as '{"CADRG", "DTED1", "DTED2", "SRTF"}'
And then change cat.type in (iFilter) to cat.type = ANY (iFilter)
Good luck.
-Mike Swierczek
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Swierczek | 2012-07-05 14:49:12 | Re: IN Operator query | 
| Previous Message | Tom Lane | 2012-07-05 14:44:37 | Re: IN Operator query |