Search Postgresql Archives

Re: Insert a default timestamp when nothing given

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Change the column type in the view to text, then in the insert/update rule, if the value is '' insert null or what ever,
else insert the date (as text) into the real date column (as a date)

Jim


---------- Original Message -----------
From: "  Martin Pohl" <Nilpherd@xxxxxxx>
To: Doug McNaught <doug@xxxxxxxxxxxx>
Cc: pgsql-general@xxxxxxxxxxxxxx
Sent: Thu, 19 Jan 2006 14:43:26 +0100 (MET)
Subject: Re: [GENERAL] Insert a default timestamp when nothing given

> Hi,
> 
> > > Not directly. I suppose you could create a view that converted the
> > > value to the right date on insert.
> > I think a trigger might make more sense.
> 
> That was a very good idea! I tought it would solve my problem. Unfortunately
> it didn't: I still get the "invalid syntax" error (I ensured that the
> trigger worked by using other values). Apparently the syntax check is done,
> before the trigger is called:
> ----
> create or replace function test() returns trigger as '
> begin
> 
>     if NEW.datum = '''' THEN
>         NEW.datum := ''01.01.1900'';
>     end if;
>     return NEW;
> end;
> ' language plpgsql;
> 
> create trigger test before insert or update on foo
>     for each row execute procedure test();
> ----
> 
> Adding a default value will also not work, since the given date is not a
> correct timestampz when inserting. So the default value doesn't help.
> 
> I know that inserting '' is wrong in the first place, and that Postgre works
> correctly at this point. But I can't help it - the application I have to
> port does it and I can't change it. Therefore I need a smart workaround for
> a sloppy programming in the application and a sloppy MS SQL.
> (This is not meant rude in any way, it's just the situation I was given in a
> task)
> 
> Does anyone have any other suggestions or ideas?
> 
> -- 
> 10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail
> +++ GMX - die erste Adresse für Mail, Message, More +++
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
> 
>                http://archives.postgresql.org
------- End of Original Message -------



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux