Thread: inserting multiple rows

inserting multiple rows

From
Si Chen
Date:
Does PostgreSQL not support

insert into mytable (row1, row2) values ('a', '1'), ('b', '2'), ('c',
'3'), ('d', '4')

?  If not, does anyone know why not?

Si


Re: inserting multiple rows

From
Rafael Charnovscki
Date:
According to the 7.4.3 documentation it's not possible
to insert more than one row with INSERT. See
http://www.postgresql.org/docs/current/interactive/sql-insert.html

I think this is not a PGSQL issue, since SQL standard defines
INSERT command to insert one row at a time.

There are alternatives to insert multiple rows using a SELECT or a COPY.

http://www.postgresql.org/docs/current/interactive/sql-copy.html

http://pgsqld.active-venture.com/tutorial-populate.html

These links may help too:

http://archives.postgresql.org/pgsql-sql/2003-03/msg00076.php

http://archives.postgresql.org/pgsql-novice/2002-05/msg00047.php

http://www.faqs.org/docs/ppbook/r27281.htm

Regards,
Rafael Charnovscki

Si Chen wrote:
> Does PostgreSQL not support
>
> insert into mytable (row1, row2) values ('a', '1'), ('b', '2'), ('c',
> '3'), ('d', '4')
>
> ?  If not, does anyone know why not?
> Si
>


Re: inserting multiple rows

From
reina_ga@hotmail.com (Tony Reina)
Date:
schen@graciousstyle.com (Si Chen) wrote in message news:<410E875B.8050005@graciousstyle.com>...
> Does PostgreSQL not support
>
> insert into mytable (row1, row2) values ('a', '1'), ('b', '2'), ('c',
> '3'), ('d', '4')
>

No, but the COPY command can do something like this.

COPY INTO mytable FROM stdout;
a b c d
1 2 3 4



Take a look at http://www.postgresql.org/docs/7.4/static/sql-copy.html


-Tony