2015-09-03 38 views
1

因此,我了解如何在HANA中创建触发器,但HANA reference material中的示例没有提及表A上的触发器如何更新表A;HANA:SQL触发器设置行的最后修改日期?

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的优选方式:代替材料总是在甲更新乙像从SAP文档以下示例触发?我会设置:mynewrow.LastModifiedDate = NOW(),还是应该执行UPDATE其中ID与mynewrow的ID匹配?

+0

这是面色凝重......“这是在论坛和由SAP科技股指出,触发器的功能[上次修改日期]不受支持“http://scn.sap.com/thread/3657168 –

回答

0

由于SPS8的,一个HANA SQL触发器只能针对其他表执行INSERTUPDATEDELETE语句。如果您尝试创建一个自引用触发,你会发现以下错误消息:

Modification of subject table in trigger not allowed 
+0

这是否适用于有条件地回写到原始主题表的目标表上的辅助触发器? –