Re: currval() during one statement - Mailing list pgsql-ru-general

From silly_sad
Subject Re: currval() during one statement
Date
Msg-id 478EF846.6030700@bankir.ru
Whole thread Raw
In response to currval() during one statement  (silly_sad <sad@bankir.ru>)
List 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')
>>
>> Я вообще-то ожидал получить равное значение для всех выбираемых записей,
>> то которое было непосредственно перед этим запросом.


pgsql-ru-general by date:

Previous
From: Andrew Boag
Date:
Subject: Re: currval() during one statement
Next
From: "Sergey Konoplev"
Date:
Subject: [PGSQL-RU-GENERAL] Условное упорядочивание по произвольному набору полей