有一个表Origin,字段和记录为:
InstrNo Length Width Height
25A 12 12 20
26B 14 18 30
其中InstrNo为唯一字段
当在表Origin内进入插入,删除,修改更新记录操作时,想把操作信息加到表Journal里
Journal字段和记录为
仪器编号 长 宽 高 操作时间 操作方法
25A 12 12 20 2013-05-18 12:10:05 插入
操作时间格式为 年-月-日 时:分:秒表,指的是触发器加到Journal里的时间
操作方法为表Origin执行的操作,如插入,删除,更新。插入和更新就把最新的Origin记录放到Journal里,而删除就是把要删除的Origin的记录放入到Journal里。
每次只对表Origin执行一条记录的操作。
请问这个触发器应如何写,求各位大侠指导。谢谢
------解决思路----------------------
操作时间格式为 年-月-日 时:分:秒?感情你存的是字符串?不建议存时间为字符串
CREATE TRIGGER TGR_Origin_Change--你可以换成你的触发器名称
ON Origin
FOR INSERT,UPDATE,DELETE
AS
BEGIN
INSERT INTO Journal
SELECT ISNULL(T1.InstrNo,T2.InstrNo)
,ISNULL(T1.Length,T2.Length)
,ISNULL(T1.Width,T2.Width)
,ISNULL(T1.Height,T2.Height)
,GETDATE()
,CASE WHEN T1.InstrNo IS NOT NULL AND T2.InstrNo IS NOT NULL THEN'更新'
WHEN T1.InstrNo IS NOT NULL THEN'插入'ELSE'删除'END
FROM INSERTED T1
FULL JOIN DELETED T2 ON T1.InstrNo=T2.InstrNo
END