Subject | Any help .. I'm doing something wrong? |
---|---|
Author | Adrian Wreyford |
Post date | 2008-11-09T20:51:33Z |
I've got the following trigger, that is supposed to store the value of the updated record before 'old.' and the new value 'new.' in a table called user$stats.
CREATE OR ALTER TRIGGER USU_ENTRY2 FOR ENTRY2
ACTIVE AFTER UPDATE POSITION 3
AS
begin
insert into USER$STATS values(0,USER,'ENTRY2','UPDATE','NOW', old.ENTRYID||'~'||old.PATIENTID||'~'||old.TRANSDATE||'~'||old.TRANSCODE||'~'||old.TRANSCODEID||'~'||old.TRANSMODIFIER||'~'||old.TRANSMODIFIERID||'~'||old.TRANSPRINT||'~'||old.TRANSMEMDEBIT||'~'||old.TRANSMEMCREDIT||'~'||old.TRANSMAIDDEBIT||'~'||old.TRANSMAIDCREDIT||'~'||old.TRANSFISIOID||'~'||old.TRANSSCALE||'~'||old.TRANSICDCODE||'~'||old.TRANSICDLEVEL||'~'||old.TRANSICDLEVELID||'~'||old.TRANSEDI||'~'||old.TRANSFACILITY||'~'||old.TRANSDESCRIPTION||'~'||old.TRANSICDADDCODE||'~'||old.TRANSICDADDLEVEL||'~'||old.TRANSICDADDLEVELID||'~'||old.TRANSMULTIPLYTYPE||'~'||old.TRANSFACTOR||'~'||old.TRANSMULTIPLIER||'~'||old.TRANSCODETABLE||'~'||old.TRANSAMOUNT||'~'||old.TRANSDISC||'~'||old.TRANSDEBIT||'~'||old.TRANSCREDIT||'~'||old.TRANSTOTAL
||'~'||new.ENTRYID||'~'||new.PATIENTID||'~'||new.TRANSDATE||'~'||new.TRANSCODE||'~'||new.TRANSCODEID||'~'||new.TRANSMODIFIER||'~'||new.TRANSMODIFIERID||'~'||new.TRANSPRINT||'~'||new.TRANSMEMDEBIT||'~'||new.TRANSMEMCREDIT||'~'||new.TRANSMAIDDEBIT||'~'||new.TRANSMAIDCREDIT||'~'||new.TRANSFISIOID||'~'||new.TRANSSCALE||'~'||new.TRANSICDCODE||'~'||new.TRANSICDLEVEL||'~'||new.TRANSICDLEVELID||'~'||new.TRANSEDI||'~'||new.TRANSFACILITY||'~'||new.TRANSDESCRIPTION||'~'||new.TRANSICDADDCODE||'~'||new.TRANSICDADDLEVEL||'~'||new.TRANSICDADDLEVELID||'~'||new.TRANSMULTIPLYTYPE||'~'||new.TRANSFACTOR||'~'||new.TRANSMULTIPLIER||'~'||new.TRANSCODETABLE||'~'||new.TRANSAMOUNT||'~'||new.TRANSDISC||'~'||new.TRANSDEBIT||'~'||new.TRANSCREDIT||'~'||new.TRANSTOTAL);
end
Metadata for USER$STATS:
CREATE TABLE USER$STATS (
USER_ID Integer NOT NULL,
USER_NAME Varchar(31),
USER_TABLE Varchar(31),
USER_ACTION Varchar(8),
USER_DATE TIMESTAMP,
USER_RECORD_ID Varchar(500),
PRIMARY KEY (USER_ID)
);
CREATE UNIQUE INDEX IDX_USER$STATS_1 ON USER$STATS(USER_ID);
When viewing the result, USER_RECORD_ID is NULL
Any help will be appreciated
Thanks
Adrian
[Non-text portions of this message have been removed]
CREATE OR ALTER TRIGGER USU_ENTRY2 FOR ENTRY2
ACTIVE AFTER UPDATE POSITION 3
AS
begin
insert into USER$STATS values(0,USER,'ENTRY2','UPDATE','NOW', old.ENTRYID||'~'||old.PATIENTID||'~'||old.TRANSDATE||'~'||old.TRANSCODE||'~'||old.TRANSCODEID||'~'||old.TRANSMODIFIER||'~'||old.TRANSMODIFIERID||'~'||old.TRANSPRINT||'~'||old.TRANSMEMDEBIT||'~'||old.TRANSMEMCREDIT||'~'||old.TRANSMAIDDEBIT||'~'||old.TRANSMAIDCREDIT||'~'||old.TRANSFISIOID||'~'||old.TRANSSCALE||'~'||old.TRANSICDCODE||'~'||old.TRANSICDLEVEL||'~'||old.TRANSICDLEVELID||'~'||old.TRANSEDI||'~'||old.TRANSFACILITY||'~'||old.TRANSDESCRIPTION||'~'||old.TRANSICDADDCODE||'~'||old.TRANSICDADDLEVEL||'~'||old.TRANSICDADDLEVELID||'~'||old.TRANSMULTIPLYTYPE||'~'||old.TRANSFACTOR||'~'||old.TRANSMULTIPLIER||'~'||old.TRANSCODETABLE||'~'||old.TRANSAMOUNT||'~'||old.TRANSDISC||'~'||old.TRANSDEBIT||'~'||old.TRANSCREDIT||'~'||old.TRANSTOTAL
||'~'||new.ENTRYID||'~'||new.PATIENTID||'~'||new.TRANSDATE||'~'||new.TRANSCODE||'~'||new.TRANSCODEID||'~'||new.TRANSMODIFIER||'~'||new.TRANSMODIFIERID||'~'||new.TRANSPRINT||'~'||new.TRANSMEMDEBIT||'~'||new.TRANSMEMCREDIT||'~'||new.TRANSMAIDDEBIT||'~'||new.TRANSMAIDCREDIT||'~'||new.TRANSFISIOID||'~'||new.TRANSSCALE||'~'||new.TRANSICDCODE||'~'||new.TRANSICDLEVEL||'~'||new.TRANSICDLEVELID||'~'||new.TRANSEDI||'~'||new.TRANSFACILITY||'~'||new.TRANSDESCRIPTION||'~'||new.TRANSICDADDCODE||'~'||new.TRANSICDADDLEVEL||'~'||new.TRANSICDADDLEVELID||'~'||new.TRANSMULTIPLYTYPE||'~'||new.TRANSFACTOR||'~'||new.TRANSMULTIPLIER||'~'||new.TRANSCODETABLE||'~'||new.TRANSAMOUNT||'~'||new.TRANSDISC||'~'||new.TRANSDEBIT||'~'||new.TRANSCREDIT||'~'||new.TRANSTOTAL);
end
Metadata for USER$STATS:
CREATE TABLE USER$STATS (
USER_ID Integer NOT NULL,
USER_NAME Varchar(31),
USER_TABLE Varchar(31),
USER_ACTION Varchar(8),
USER_DATE TIMESTAMP,
USER_RECORD_ID Varchar(500),
PRIMARY KEY (USER_ID)
);
CREATE UNIQUE INDEX IDX_USER$STATS_1 ON USER$STATS(USER_ID);
When viewing the result, USER_RECORD_ID is NULL
Any help will be appreciated
Thanks
Adrian
[Non-text portions of this message have been removed]