Re: Using Insert - Default in a condition expression ??
От | Postgres User |
---|---|
Тема | Re: Using Insert - Default in a condition expression ?? |
Дата | |
Msg-id | b88c3460909290404o788134e8uc6cdbcdb4ddd5b4f@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Using Insert - Default in a condition expression ?? ("A. Kretschmer" <andreas.kretschmer@schollglas.com>) |
Ответы |
Re: Using Insert - Default in a condition expression ??
|
Список | pgsql-general |
>> > >> > I'm trying to write an INSERT INTO statement that will use a DEFAULT >> > value when an input parameter is null. >> > >> Neither of my 2 methods are pretty. >> 1) Use a trigger. >> 2) Grab and cast the default value from the information_schema.columns >> view and plug it in. >> >> Another option is to build your insert sql as a string and then execute it. > > Another option: > > rewrite your function: > > CREATE OR REPLACE FUNCTION "name_add" (p_name varchar, p_created_date > date) RETURNS integer AS $$ BEGIN case when $2 is null then INSERT INTO > names(name, created_date) values (p_name, default); else insert into > names values ($1, $2); end case; return 1; end; $$ language plpgsql; > > Andreas Kretschmer Again, this approach works for a simple example. But for a larger function with any number of input params and multiple columns with default values, it's not practical for an ORM code generator.
В списке pgsql-general по дате отправления: