Как в SQL обновить таблицу, установив для столбца разные значения для каждой строки?
Я хочу обновить некоторые строки в базе данных PostgreSQL, установив один столбец в число из последовательности, где этот столбец имеет уникальное ограничение. Я надеялся, что смогу просто использовать:
update person set unique_number = (select nextval('number_sequence') );
но кажется, что nextval вызывается только один раз, поэтому обновление использует один и тот же номер для каждой строки, и я получаю сообщение об ошибке «дублирующий ключ нарушает уникальное ограничение». Что мне делать вместо этого?