Re: NULL becomes default

Поиск
Список
Период
Сортировка
От Markus Schaber
Тема Re: NULL becomes default
Дата
Msg-id 44E6C30D.1070608@logix-tt.com
обсуждение исходный текст
Ответ на NULL becomes default  ("Julian Scarfe" <julian@avbrief.com>)
Список pgsql-sql
Hi, Julian,

Julian Scarfe wrote:
> A surrogate key has been introduced on a table with modifiers:
> 
>   Column    |            Type             | Modifiers
> -------------+-----------------------------+------------------------------------------------------------
> 
> new_id    | integer                     | not null default
> nextval(('some_id_seq'::text)::regclass)
> 
> However, some legacy software inserts into the table by first getting
> column names and then composing an INSERT for all the columns, filling
> in any undefined values with NULLs.
> 
> Thus when it attempts to insert a row I get a:
> 
> ERROR:  null value in column "new_id" violates not-null constraint
> 
> Thus I would like NULLs in such INSERTs to be treated as DEFAULT rather
> than violating the constraint.  Is there an easy way to do that at the
> database level?

Did you try a "before insert" trigger that checks new_id for null
values, and replaces it with nextval()?

Markus


-- 
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org


В списке pgsql-sql по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: trigger needs to check in multiple tables.
Следующее
От: "Julian Scarfe"
Дата:
Сообщение: Re: NULL becomes default