RE: [SQL] Problems with default date 'now' - Mailing list pgsql-sql

From Jackson, DeJuan
Subject RE: [SQL] Problems with default date 'now'
Date
Msg-id F10BB1FAF801D111829B0060971D839F2CDDC3@cpsmail
Whole thread Raw
Responses RE: [SQL] Problems with default date 'now'  (Herouth Maoz <herouth@oumail.openu.ac.il>)
List pgsql-sql
> > Nope, that did not work.
> >
> > I get this reply from psql:
> >
> >   WARN:parser: parse error at or near "current_date"
> >
> > What is wrong.  Is this something new in PostgreSQL after v6.2.1?
>
> Yes, it's something new. I still work with 6.2.1, so here's the deal:
>
> Using a constant default value for a column causes the constant to be
> evaluated once, at the creation of the table. That value is then kept
> with
> the table schema, which means each row will be stamped with the same
> date.
>
> In order to avoid that, you have to use a function as a default value.
> Functions are evaluated each time a column is created. For this
> purpose, I
> created an SQL function like this:
>
> CREATE FUNCTION current_datetime() RETURNS datetime
> AS 'SELECT ''now''::datetime'
> LANGUAGE 'sql';
>
> And I define the table as (in my case):
>
> CREATE TABLE session
> (
>         session         int4
>                         DEFAULT nextval( 'sess_no' )
>                         NOT NULL,
>         created         datetime
>                         DEFAULT current_datetime() -- See here
>                         NOT NULL,
>         webuser         char(30)
> );
>
> You can define the function once, and use it for all the applications
> using
> the same database.
>
> Herouth
>
Why don't you just use the function version of now (I'm not familiar
with 6.2.1 so it could be that it doesn't exist).

received_date DATE DEFAULT NOW()

just a thought,
    -DEJ

pgsql-sql by date:

Previous
From: Herouth Maoz
Date:
Subject: Re: [SQL] Problems with default date 'now'
Next
From: Herouth Maoz
Date:
Subject: RE: [SQL] Problems with default date 'now'