2017-03-01 1 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; 
관련 문제