>> > >> > 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. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general