Quote:
Originally posted by janrune
Here are the Definitions:
-- SELECT * FROM SYSCAT.TRIGGERS
-- * DROP TABLE DBO.KL_Key_LastGen
CREATE TABLE DBO.KL_Key_LastGen (
KL_Table_Key VARCHAR(18) NOT NULL,
KL_Last_NKey INT DEFAULT 1 NOT NULL,
KL_Last_CKey VARCHAR(20) DEFAULT '1' NOT NULL,
KL_DayStamp SMALLINT DEFAULT 0 NOT NULL,
KL_Edit_Who VarChar(30) DEFAULT USER,
KL_Edit_When TIMESTAMP DEFAULT CURRENT TIMESTAMP,
CONSTRAINT PK_KL_Key_LastGen PRIMARY KEY (KL_Table_Key)
)
-- DROP TRIGGER DBO.KL_Key_LastGen_Upd
CREATE TRIGGER DBO.KL_Key_LastGen_Upd
NO CASCADE BEFORE INSERT ON DBO.KL_Key_LastGen
REFERENCING NEW AS NEWROW
FOR EACH ROW MODE DB2SQL
set newrow.KL_Edit_When = current timestamp, KL_Edit_Who = USER
|
I have no idea why it doesnt work out for you. Here is what I did, and it works perfectly (I think, do you agree that my results are correct?)
DROP TABLE DBO.KL_Key_LastGen
@
CREATE TABLE DBO.KL_Key_LastGen (
KL_Table_Key VARCHAR(18) NOT NULL,
KL_Last_NKey INT DEFAULT 1 NOT NULL,
KL_Last_CKey VARCHAR(20) DEFAULT '1' NOT NULL,
KL_DayStamp SMALLINT DEFAULT 0 NOT NULL,
KL_Edit_Who VarChar(30) DEFAULT USER,
KL_Edit_When TIMESTAMP DEFAULT CURRENT TIMESTAMP,
CONSTRAINT PK_KL_Key_LastGen PRIMARY KEY (KL_Table_Key)
)
@
DROP TRIGGER DBO.KL_Key_LastGen_Upd
@
CREATE TRIGGER DBO.KL_Key_LastGen_Upd
NO CASCADE BEFORE INSERT ON DBO.KL_Key_LastGen
REFERENCING NEW AS NEWROW
FOR EACH ROW MODE DB2SQL
set newrow.KL_Edit_When = current timestamp, KL_Edit_Who = USER
@
insert into DBO.KL_Key_LastGen
(KL_Table_Key, KL_Last_NKey, KL_Last_CKey, KL_DayStamp)
values ('My Test Key 1', 1, 'My Test CKey 1', 1),
('My Test Key 2', 2, 'My Test CKey 2', 2)@
KL_TABLE_KEY KL_LAST_NKEY KL_LAST_CKEY KL_DAYSTAMP KL_EDIT_WHO KL_EDIT_WHEN
------------------ ------------ -------------------- ----------- ------------------------------ --------------------------
My Test Key 1 1 My Test CKey 1 1 JON 2003-08-25-18.34.28.303779
My Test Key 2 2 My Test CKey 2 2 JON 2003-08-25-18.34.28.303779
2 record(s) selected.
/Lennart
select * from DBO.KL_Key_LastGen