Re: IN Operator query - Mailing list pgsql-novice

From Michael Swierczek
Subject Re: IN Operator query
Date
Msg-id CAHp1f1N6XxLytTqx_WhSB4jO=5SMWwkEdYOwcuoTRb8HycELOQ@mail.gmail.com
Whole thread Raw
In response to Re: IN Operator query  (Michael Swierczek <mike.swierczek@gmail.com>)
List pgsql-novice
On Thu, Jul 5, 2012 at 10:48 AM, Michael Swierczek
<mike.swierczek@gmail.com> wrote:
> On Thu, Jul 5, 2012 at 10:31 AM, DrYSG <ygutfreund@draper.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.

Whoops!  For Array declarations, it's not literally "ARRAY", it would
be "TEXT[]" (or "text[]").  I'm sorry for that minor oversite.

-Mike

> 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

pgsql-novice by date:

Previous
From: Michael Swierczek
Date:
Subject: Re: IN Operator query
Next
From: Andy Halsall
Date:
Subject: Re: Function Scan costs