Storing sequence numbers for later use

Поиск
Список
Период
Сортировка
От nolan@celery.tssi.com
Тема Storing sequence numbers for later use
Дата
Msg-id 20030418153116.8839.qmail@celery.tssi.com
обсуждение исходный текст
Список pgsql-general
> It is possible to assign the result of an function call to a script
> local variable in psql ?

It is kind of ugly, but try this:

> INSERT INTO Address (city) values ('Berlin');

\set ADD1 = :LASTOID

> INSERT INTO Address (city) values ('Paris');

\set ADD2 = :LASTOID

>Insert into Address select
> INSERT INTO Invoice (payeeAdress, invoiceeAdress, grossTotal) values
> (pa_id, ia_id, 100.0);

Now you can write your insert as follows:

   INSERT INTO Invoice (payeeAdress, invoiceeAdress, grossTotal)
   SELECT A.ID, B.ID, 100.0 from Address AS A, Address AS B
   where A.OID = :ADD1 and B.OID = :ADD2;

For performance reasons, you will probably need to build this index:

   CREATE INDEX add_oids on Address(OID);
--
Mike Nolan


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

Предыдущее
От: Ken Williams
Дата:
Сообщение: Re: Weird "template1" errors on CREATE DATABASE
Следующее
От: Dennis Gearon
Дата:
Сообщение: Re: default locale considered harmful? (was Re: Using