I can always rewrite the function to call EXECUTE but that's not a very good solution in this case because many of our db functions are code generated.
On Tue, Aug 9, 2011 at 4:47 PM, Diego Augusto Molina <diegoaugustomolina@xxxxxxxxx> wrote:
Hi, when posting SQL it may be a good practice to post your PG
version so that answers may be more accurate and better fit your
needs. In this case, I don't think you'll be able to do what you are
trying to, because as of my understanding the "DEFAULT" is not part of
an _expression_ but a keyword itself which is to be written *instead* of
an _expression_. I get your point and seems pretty fair to me, but if
I'm right you don't have access to the default value of the column
from within an _expression_.
Assuming you're using the latest stable version of PostgreSQL (9.0
as of today), you can check the following page for an online reading
reference of the INSERT statement:
http://www.postgresql.org/docs/9.0/interactive/sql-insert.html
If you look carefully, you'll see that for the value of a column you
may write: the "DEFAULT" keyword [exclusive or] an _expression_ (which
includes specific values).
The [exclusive or] is deduced because of the pipe (`|') between the
two choices which are embraced by curly braces.
So, if you were able to use the "DEFAULT" keyword inside an
_expression_, instead of having the "{ _expression_ | DEFAULT }" syntax
you would have the "_expression_" syntax, which would include the case
of having just "DEFAULT" as an _expression_. It's just a matter of
understanding the syntax.
Cheers!
--
Diego Augusto Molina
diegoaugustomolina@xxxxxxxxx
ES: Por favor, evite adjuntar documentos de Microsoft Office. Serán
desestimados.
EN: Please, avoid attaching Microsoft Office documents. They shall be discarded.
LINK: http://www.gnu.org/philosophy/no-word-attachments.html