Hannu Krosing wrote:
> On Tue, 2002-10-01 at 01:10, Bruce Momjian wrote:
> >
> > > Given what Tom has posted regarding the standard, I think Oracle
> > > is wrong. I'm wondering how the others handle multiple
> > > references in CURRENT_TIMESTAMP in a single stored
> > > procedure/function invocation. It seems to me that the lower
> > > bound is #4, not #5, and the upper bound is implementation
> > > dependent. Therefore PostgreSQL is in compliance, but its
> > > compliance is not very popular.
> >
> > I don't see how we can be compliant if SQL92 says:
> >
> > The time of evaluation of the <datetime value function> during the
> > execution of the SQL-statement is implementation-dependent.
> >
> > It says it has to be "during the SQL statement", or is SQL statement
> > also ambiguous?
>
> It can be, as "during the SQL statement" can mean either the single
> statement inside the PL/SQL function (SELECT CURRENT_TIMESTAMP INTO
> time1 FROM DUAL;) or the whole invocation of the Pl/SQL funtion (the /
> command in Mikes sample, i believe)
Which is what Oracle may have done. SQL99 talks about triggers seeing
the same date/time, but then again if your trigger is a function, it has
to see the same values for all of its calls. This doesn't match Oracle,
unless they have some switch that returns consistent values when the
function is called as a trigger (yuck).
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073