![]() |
|
Archives of the TeradataForumMessage Posted: Thu, 20 Apr 2006 @ 09:21:09 GMT
We have the following row trigger:
REPLACE TRIGGER DATABASENAME.TRIGGER1 ENABLED
AFTER UPDATE OF (COLUMNX) ON DATABASENAME.TABLE1
REFERENCING OLD AS OLD_TAB NEW AS NEW_TAB
FOR EACH ROW
(INSERT INTO DATABASENAME.CHANGES
VALUES (OLD_TAB.PRDID
,OLD_TAB.MNH_EPD_CRD_AM
,NEW_TAB.MNH_EPD_CRD_AM)
;)
;
We run the following update which fires the row trigger:
Update Databasename.Table1 t1
set T1.ColumnX = Table2.ColumnX
where T1.IdColumn = Table2.IdColumn
;
Assuming the following position before the update:
Databasename.Table1 Table2
IdColumn ColumnX IdColumn ColumnX
A 10 A 15
B 20 B 25
C 30 C 35
I would expect the Changes table to be as follows:
IdColumn OldColumnX NewColumnX
A 10 15
B 20 25
C 30 35
However, what is actually in the Changes table is as follows - the Old column values are populated with the New column values:
IdColumn OldColumnX NewColumnX
A 15 15
B 25 25
C 35 35
Interestingly, if the update is performed using a hardcoded value, then the trigger appears to fire as I would expect it to.
Update Databasename.Table1 t1
set T1.ColumnX = 5
where T1.IdColumn = Table2.IdColumn
;
IdColumn OldColumnX NewColumnX
A 10 5
B 20 5
C 30 5
Is this a bug or am I missing something obvious ? We are running at V2R5.01.02.23. Any advice appreciated. Many Thanks, Alan Okell
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||