2016-06-04 2 views
1

내 목표는 당신이하려고하는 번호가 NR_RECIBO 아직 속성 TIPO_DOC = 4문은 트리거 작동하지 SQL (오라클) 내부

CREATE OR REPLACE TRIGGER ValidaRecibo 
BEFORE INSERT ON Recibo 
FOR EACH ROW 
DECLARE val NUMBER; 
BEGIN 
    SELECT COUNT(*) INTO val 
    FROM Doc_cabecalho 
    WHERE (TIPO_DOC = 4 AND NR_DOCUMENTO = :NEW.NR_RECIBO); 

    IF val = 0 
    THEN (-20502, ' Only from department 4 '); 
    END IF; 
END ValidaRecibo; 

와 테이블 Doc_cabecalho에 입력 할 경우 확인하는 트리거를 작성하는 경우 이것은 다음과 같은 오류가 발생 :

PLS-00103: Encountered the symbol "," when expecting one of the following:
* & = - + </> at in is mod remainder not rem <> or != or ~= >= <= <> and or like like2 like4 likec as between || member submultiset

답변

1

IF 브로 = 0 THEN ('만 부 (6)로부터'-20502) RAISE_APPLICATION_ERROR;

그리고 당신은 DOC_TIPO 및 TIPO_DOC 사이에서 결정한다)

+0

오, 당신에게 너무 많은 친구를 주셔서 감사합니다! 이 문제를 해결하기 위해 몇 시간 씩 노력해 왔습니다. – Safirah