我正在使用Sybase ASE 15.0.3和DBArtisan 8.5.3。
我正在尝试创建一个触发器,在表更新时将数据放入审计表中。
我的代码就像
CREATE TRIGGER AUDIT_TRG ON TABLE A
FOR INSERT,UPDATE
REFERENCING OLD AS OLD NEW AS NEW
我收到语法错误,指出引用附近的语法不正确。如果我只指定旧的或新的我得到一个不同的错误,因为OLD或NEW不是有效的标识符或类似的东西(我无法记住确切的错误)
我甚至尝试使用:old和:new但它们似乎没有用。
请让我知道如何访问正在更新的表的旧记录和新记录值。
答案 0 :(得分:0)
要使用new
和old
,您无需为new as new
和old as old
创建参考。
例如,您必须这样做:
new.record_name
old.record_name
如果你想使用某个变量,你必须创建一个像这样的引用:
referencing OLD as some_variable
然后以下列方式使用此变量:
some_variable.record_name