Re: INSERT question

Saranya Sivakumar <sarlavk@yahoo.com>

From: sarlav kumar <sarlavk@yahoo.com>
To: pgsqlperform <pgsql-performance@postgresql.org>
Date: 2004-12-13T18:33:08Z
Lists: pgsql-performance
Thanks guys!! that worked!:)

Michael Adler <adler@pobox.com> wrote: 
On Mon, Dec 13, 2004 at 08:28:39AM -0800, sarlav kumar wrote:
> INSERT into merchant_buyer_country (merchant_id,country,enabled,group_id) values (1203, 
> (SELECT code FROM country WHERE send IS NOT NULL OR receive IS NOT NULL), 'true',1);
> 
> I tried this, but I get the following problem:
> ERROR: More than one tuple returned by a subselect used as an expression.

INSERT into merchant_buyer_country (merchant_id,country,enabled,group_id) 
SELECT 1203, code FROM country WHERE send IS NOT NULL OR receive IS NOT NULL;

-Mike Adler

Bruno Wolff III <bruno@wolff.to> wrote:
On Mon, Dec 13, 2004 at 08:28:39 -0800,
sarlav kumar wrote:
> 
> Is there a way to write the INSERT as follows?
> 
> INSERT into merchant_buyer_country (merchant_id,country,enabled,group_id) values (1203, 
> (SELECT code FROM country WHERE send IS NOT NULL OR receive IS NOT NULL), 'true',1);
> 

You have to use a SELECT instead of the VAlues clause. Something like the
following should work:
INSERT INTO merchant_buyer_country (merchant_id, country, enabled, group_id)
SELECT 1203, code, TRUE, 1 FROM country
WHERE send IS NOT NULL OR receive IS NOT NULL
;

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

		
---------------------------------
Do you Yahoo!?
 All your favorites on one personal page  Try My Yahoo!