pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: PFC <lists@boutiquenumerique.com>
To: lucap@personainternet.com
To: pgsql-sql@postgresql.org
Subject: Re: select multiple immediate values, but in multiple rows
Date: Tue, 15 Mar 2005 15:20:14 +0100
Message-ID: <opsnonf00zth1vuj@localhost> (raw)
In-Reply-To: <200503142318.27510.lucap@shaw.ca>
References: <200503142318.27510.lucap@shaw.ca>


	You need a function like this :

CREATE OR REPLACE FUNCTION array_srf( integer[] ) RETURNS SETOF integer  
LANGUAGE PLPGSQL  etc... AS
$$
DECLARE
         _data   ALIAS FOR $1;
         _i              INTEGER;
BEGIN
         FOR _i IN 1..icount(_data) LOOP
                 RETURN NEXT _data[_i];
         END LOOP;
         RETURN;
END;
$$

select * from array_srf('{1,2,3,4}');
  array_srf
-----------
          1
          2
          3
          4
(4 lignes)

	This will avoid you the UNION.


> Hello all.  I'd like to write a query does a set subtraction A - B, but  
> A is
> is a set of constants that I need to provide in the query as immediate
> values.  I thought of something like
>
> select a from (1,2,3.4)
> except
> select col_name from table;
>
> but I don't know the syntax to specify my set of constants.  I thought of
> doing
>  select 1 union select 2 union select 3 union ... except ...
> but I figure there must be a better way.  The size of the set would be
> anywhere between 1 and about 5 or 6 elements.  Is there a better way to  
> do
> this?
>
> Thanks.
>
> Luca
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>





view thread (3+ messages)

Message-ID: <opsnonf00zth1vuj@localhost>
Permalink:  ../opsnonf00zth1vuj@localhost/
Also on:    postgresql.org/message-id/opsnonf00zth1vuj@localhost

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: lists@boutiquenumerique.com, lucap@personainternet.com
  Subject: Re: select multiple immediate values, but in multiple rows
  In-Reply-To: <opsnonf00zth1vuj@localhost>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox