HANA:SQL触发器设置行的最后修改日期?

时间:2015-09-03 20:16:07

标签: sql triggers hana

因此,我了解如何在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匹配?

1 个答案:

答案 0 :(得分:0)

从SPS8开始,HANA SQL触发器只能对其他表执行INSERTUPDATEDELETE语句。如果您尝试创建自引用触发器,您将找到以下错误消息:

Modification of subject table in trigger not allowed