Re: Strange DB Trigger behavior

From: Toon Koppelaars <toon.koppelaars_at_rulegen.com>
Date: Mon, 13 Jul 2009 20:00:01 +0200
Message-ID: <ecf3dae70907131100s6da2571agcc6cf15b7b24fab0_at_mail.gmail.com>



>
> I would expect that when a row is being updated *and a modify_date was not
> provided* in the update statement, that ...

I think you should change this to:

I would expect that when a row is being updated* and a modify_date was provided and assigned to NULL* in the update statement, that ...

Haven't tested it though, but it's what I would suspect.

On Mon, Jul 13, 2009 at 7:54 PM, Mercadante, Thomas F (LABOR) < Thomas.Mercadante_at_labor.state.ny.us> wrote:

> All,
>
>
>
> I am running a 10.2.0.2 database on Aix.
>
>
>
> I have standard db triggers on tables that are not acting as I expect.
> Please give me a sanity check:
>
>
>
> create or replace trigger tran_data_biu
>
> before insert or update
>
> on tran_Data
>
> for each row
>
>
>
> begin
>
>
>
> if updating then
>
> if :new.modify_date is null then
>
> :new.modify_date := sysdate;
>
> end if;
>
> end if;
>
> end;
>
>
>
> I would expect that when a row is being updated and a modify_date was not
> provided in the update statement, that the above trigger would fill the
> column in with sysdate. But this is not happening. The only time the above
> happens is when the column is null the first time. After a date exists, the
> “new” value is populated with the “old” value.
>
>
>
> Does this make sense to you? My memory might be slipping, but that is what
> I would expect.
>
>
> Thanks
>
>
> Tom
>
>
>

-- 
Toon Koppelaars
RuleGen BV
+31-615907269
Toon.Koppelaars_at_RuleGen.com
www.RuleGen.com
TheHelsinkiDeclaration.blogspot.com

(co)Author: "Applied Mathematics for Database Professionals"
www.RuleGen.com/pls/apex/f?p=14265:13

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Jul 13 2009 - 13:00:01 CDT

Original text of this message