取消激活触发器不起作用

时间:2017-03-01 12:25:46

标签: sql firebird database-trigger

我使用以下代码:

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 ; ^

但是当我插入上部代码时,触发器仍处于活动状态。

我是否需要创建一个程序来使触发器不活动?

1 个答案:

答案 0 :(得分:3)

将其设置为INACTIVE。

 ALTER TRIGGER trigger_name INACTIVE;

然后提交事务(更改)。

 COMMIT;