У меня есть таблица PostgreSQL 8.4 с автоинкрементным, но обнуляемым целочисленным столбцом. Я хочу обновить некоторые значения столбца и, если этот столбец равен NULL, установить для него значение по умолчанию (которое будет целым числом, автоматически генерируемым из последовательности), , но Я хочу вернуть его значение либо дело. Поэтому я хочу что-то вроде этого:
UPDATE mytable
SET incident_id = COALESCE(incident_id, DEFAULT), other = 'somethingelse'
WHERE ...
RETURNING incident_id
К сожалению, это не работает - кажется, что DEFAULT
является особенным и не может быть частью выражения. Какой лучший способ сделать это?