Re: currval() during one statement

From: silly_sad <sad(at)bankir(dot)ru>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: currval() during one statement
Date: 2008-01-17 06:40:06
Message-ID: 478EF846.6030700@bankir.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Andrew Boag wrote:
> sequence не "живет" польностью в транзации. они ведут себе как
> глобальные значение в скрипте.

Вот поэтому currval() и придуман ! чтобы жить в транзакции.
Если другая транзакция юзает nextval() то мой currval() не аффектится

> (больше тем предыдущие) ... но с currval() надо аккуратно (может быть
> concurrent transaction вызвал nextval() )

Вы не внимательно читали вопрос.
nextval() вызвал
триггер before insert on ttt

> silly_sad wrote:
>> нормально ли что currval() возвращает разные значения вот в таком вызове:
>>
>> INSERT INTO ttt (a,b) SELECT currval('ttt_id_seq'), 'const' FROM ttt2;
>>
>> если триггер before insert on ttt вызывает nextval('ttt_id_seq')
>>
>> Я вообще-то ожидал получить равное значение для всех выбираемых записей,
>> то которое было непосредственно перед этим запросом.

In response to

Browse pgsql-ru-general by date

  From Date Subject
Next Message Sergey Konoplev 2008-02-04 15:57:26 [PGSQL-RU-GENERAL] Условное упорядочивание по произвольному набору полей
Previous Message Andrew Boag 2008-01-16 20:52:59 Re: currval() during one statement