2013-11-30 5 views
1

1) Первый запросИспользование CURRVAL для справки обновления базы данных

INSERT INTO stay_in_touch_contacts (id, facebook, twitter, instagram, external_contact) VALUES (nextval(seq_stay_in_touch_contacts), 'somelink', 'somelink', 'someling', 'somelink'); 

2) Второй запрос

Update users SET stay_in_touch_contacts_id=currval('seq_stay_in_touch_id') WHERE ...; 

Они проходит один за другим в моем коде.

Возможно ли, что этот запрос вызовет неожиданную ссылку на столбец, когда база данных будет использоваться одновременно? Как этого избежать?

ответ

1

currval() Сессия специфическая.

Если приращение отдельного сеанса вашей последовательности, currval() будет продолжать возвращать ожидаемое значение и оператор обновления не будет использовать неправильное значение для stay_in_touch_contacts_id

Я надеюсь, что я правильно понял вопрос.

+0

Да, именно то, что мне нужно –

Смежные вопросы