2017-03-01 31 views
0

我使用下面的代碼:停用觸發不起作用

ALTER TRIGGER DBASIGNACION_NOTIFICACIONES INACTIVE; 

INSERT INTO DBASIGNACION (CODREPARACION, CODPROYECTO, RECURSO, TIPO, ESTADO) 
VALUES (123,null, 25, 1, 'A'); 

ALTER TRIGGER DBASIGNACION_NOTIFICACIONES ACTIVE; 

觸發

SET TERM^; 
    ALTER TRIGGER DBASIGNACION_NOTIFICACIONES ACTIVE 
    AFTER INSERT POSITION 0 
AS 
    DECLARE VARIABLE codAsignacion INTEGER; 
    DECLARE VARIABLE idNotificacion INTEGER; 
BEGIN 
    idNotificacion = GEN_ID(gen_notificationsID,1); 
    codAsignacion = NEW.CODASIGNACION; 
    insert into DBNOTIFICACIONES (IDNOTIFICAION, IDASIGNACION) values 
     (:idNotificacion, :codAsignacion); 
END^ 
SET TERM ;^

的代碼,但是當我插入白衣上攻代碼觸發仍然有效。

我是否需要創建一個使觸發器處於非活動狀態的過程?

+0

在執行INSERT之前是否提交過'ALTER TRIGGER ...'語句? – ain

回答

3

將其設置爲INACTIVE。

ALTER TRIGGER trigger_name INACTIVE; 

然後提交事務(更改)。

COMMIT;