2015-09-03 70 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

這是否適用於有條件地回寫到原始主題表的目標表上的輔助觸發器? –