因此,我了解如何在HANA中创建触发器,但HANA reference material中的示例未提及表A中的触发器如何更新表A;相反,材料总是在A更新B上触发,如以下SAP docs中的示例:
CREATE TRIGGER TEST_TRIGGER_VAR_UPDATE
AFTER UPDATE ON TARGET
REFERENCING NEW ROW mynewrow, OLD ROW myoldrow
FOR EACH ROW
BEGIN
INSERT INTO SAMPLE_new VALUES(:mynewrow.a, :mynewrow.b);
INSERT INTO SAMPLE_old VALUES(:myoldrow.a, :myoldrow.b);
INSERT INTO SAMPLE VALUES(0, 'trigger');
END;
更新列(例如LastModifiedDate)的首选方法是什么?我会设置:mynewrow.LastModifiedDate = NOW()
,还是应该执行UPDATE
,其中ID与mynewrow
的ID匹配?
答案 0 :(得分:0)
从SPS8开始,HANA SQL触发器只能对其他表执行INSERT
,UPDATE
和DELETE
语句。如果您尝试创建自引用触发器,您将找到以下错误消息:
Modification of subject table in trigger not allowed