Re: multiple INSERT

Поиск
Список
Период
Сортировка
От Joel Burton
Тема Re: multiple INSERT
Дата
Msg-id Pine.LNX.4.21.0105021751540.21206-100000@olympus.scw.org
обсуждение исходный текст
Ответ на multiple INSERT  (Renaud Thonnart <thonnart@amwdb.u-strasbg.fr>)
Список pgsql-general
On Wed, 2 May 2001, Renaud Thonnart wrote:

> Hello everyone!
> I have readen in the doc of PostgreSQL that we can insert several tuples
> in a table at one time.
> But it is said that the tuples to insert must be the result of a SELECT.
>
> Could someone explain me what is the advantage of that technique ?
> Because if I have to build a temporary table before being able to
> perform multiple INSERT, I work 2 times more, isn't it ?
> Or perhaps does it exist a way to perform multiple insert without build
> a temporary table; something like :
> INSERT INTO table
> VALUES(...,...,...),
> VALUES(...,...,...);
> I really need your advice!
> Thank you all,
> Sincerelly, Renaud THONNART

Let's suppose you have the tables:


  CREATE TABLE source (
    id int,
    f1 text );1

  INSERT INTO source VALUES (1, 'foo');
  INSERT INTO source VALUES (2, 'bar');
  INSERT INTO source VALUES (3, 'snog');

  CREATE TABLE second (
    id int,
    f1 text );


You can't insert several rows simultaneously into second by using INSERT
... VALUES. That is, you CANNOT:

  INSERT INTO second VALUES ( 1, 'foo' ), (2, 'bar');

Some databases support this, but PostgreSQL doesn't yet.

What the INSERT piece means is that you *can* do this:

  INSERT INTO second SELECT * FROM source;

... and all three records will be copied into the table "second".


HTH,
--
Joel Burton   <jburton@scw.org>
Director of Information Systems, Support Center of Washington


В списке pgsql-general по дате отправления:

Предыдущее
От: Lieven Van Acker
Дата:
Сообщение: View permissions in 7.1
Следующее
От: Tom Lane
Дата:
Сообщение: Re: "group by" is quite expensive