Richard,

So the solution can be:
        (i) either write a function to insert the values into the array one by one
        (ii) or else upgrade to 7.4 (or 8) to use the ARRAY syntax.

Thanks a lot.

Regards
Robert




Richard Huxton <dev@archonet.com>

03/15/2005 09:08 AM

To
[EMAIL PROTECTED]
cc
pgsql-sql@postgresql.org
Subject
Re: [SQL] Inserting values in arrays





[EMAIL PROTECTED] wrote:
> CREATE TABLE test ( details varchar[]);
> CREATE TABLE test2 ( textvalue1 varchar, textvalue2 varchar);
> INSERT INTO test2 VALUES ('Hello1', 'World1');
> INSERT INTO test2 VALUES ('hello2', 'World2');

> and I am expecting the following rows in test
> {'Hello1', 'World1'}
> {'Hello2', 'World2'}

> Postgres version I am using is 7.3.4

Well, from 7.4 you can do:

INSERT INTO test SELECT ARRAY[textvalue1, textvalue2] FROM test2;
INSERT 0 2
richardh=> SELECT * FROM test;
     details
-----------------
 {Hello1,World1}
 {hello2,World2}
(2 rows)

I think in 7.3 you might have to write your own function to assemble the
array. I'm not an array expert though, so might be worth checking the
mailing list archives.

--
  Richard Huxton
  Archonet Ltd

Reply via email to