Re: Indicating DEFAULT values in INSERT statement

From: Diego Augusto Molina <diegoaugustomolina(at)gmail(dot)com>
To: David Johnston <polobo(at)yahoo(dot)com>
Cc: Postgres User <postgres(dot)developer(at)gmail(dot)com>, "\"pgsql-general\\\"\" <pgsql-general(at)postgresql(dot)org>, osvaldo(dot)kussama(at)gmail(dot)com" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Indicating DEFAULT values in INSERT statement
Date: 2011-08-10 00:35:13
Message-ID: CAGOxLdEna36PhajMNqn2X6pFjik6stx=A6wfOoznoCC3iwRHHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

This is a bit hacky, but it may work (I haven't tried it yet). If it
works let us know and if it doesn't then maybe we can debug it and get
something useful, or move on to another solution.

<code>
INSERT INTO public.test
(
userid, object_id, user_notes, object_status, created_ts
)
VALUES
(
p_userid, p_obj_id, p_user_notes, p_obj_status,
Case When p_created_ts Is Not Null Then p_created_ts Else
( -- You may want to be sure the field has a default value.
SELECT d.adsrc -- or should it be d.adbin?
FROM
pg_catalog.pg_attribute a INNER JOIN
pg_catalog.pg_attrdef d ON (a.attnum = d.adnum)
WHERE
a.attname = 'created_ts' AND
a.attrelid = 'public.test'::REGCLASS AND
d.adrelid = 'public.test'::REGCLASS
) End
);
</code>

Well (thinking it thoroughly) it won't work at all as is. It will just
put the source code of the default expression but you would need to
*interpret* it first.
Looked for a way to do this (without `EXECUTE') but couldn't find it. Sorry.

--
Diego Augusto Molina
diegoaugustomolina(at)gmail(dot)com

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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Postgres User 2011-08-10 01:10:36 Re: Indicating DEFAULT values in INSERT statement
Previous Message Postgres User 2011-08-09 23:56:38 Re: Indicating DEFAULT values in INSERT statement