Array to IN or UNION

From: Jordi Romagos <jordi(dot)romagos(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Array to IN or UNION
Date: 2009-02-24 17:07:07
Message-ID: 4afe29ef0902240907v219a8013j161028d8d5a6d6d3@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I'm doing a procedure and I'm trying to pass a dynamic array into a CURSOR,
I found the sentence ANY but it's really slow. Is there any way to convert
all the elements in this array to IN condition or one select with unions?
For example,

BEGIN
example CURSOR (codes integer[] )
SELECT *
FROM table_1
WHERE code IN (3,5,7)

or

example CURSOR (codes integer[] )
SELECT *
FROM table_1
WHERE codi = 3
UNION
SELECT *
FROM table_1
WHERE codi = 5
SELECT *
FROM table_1
WHERE codi = 7

DECLARE

OPEN example(ARRAY[3,5,7]);
END;

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Simon Riggs 2009-02-24 18:39:49 Re: Warm standby failover mechanism
Previous Message John R Pierce 2009-02-24 17:06:37 Re: javascript and postgres