2017-11-02 1 views
0

나는 그 특정 사람에 대한 "salanu"값을 업데이트 할 Certificare에 AFTER INSERT TRIGGER ON을 만들려고합니다. 이전 값 +100으로 "idan"으로 식별됩니다. 04098. 00000 - "트리거 '% s의 % s는.'무효 및 재 검증 실패"여기삽입 트리거 ORACLE

이 두 테이블과 트리거입니다 : 내가 Certificare에 삽입하려고 할 때 다음과 같은 말한다

CREATE TABLE Angajati(
    idan INT PRIMARY KEY, 
    numean VARCHAR(30), 
    salariu INT 
    ); 
CREATE TABLE Certificare(
    idan INT, 
    idav INT, 
    PRIMARY KEY(idan,idav), 
    FOREIGN KEY (idan) REFERENCES Angajati(idan), 
    FOREIGN KEY (idav) REFERENCES Aeronave(idav) 
    ); 
CREATE TRIGGER trigNou 
    AFTER INSERT ON Certificare 
    BEGIN 
     UPDATE Angajati 
     SET salariu=salariu+100 
     WHERE new.idan IN (SELECT idan FROM Angajati); 
    END; 

PS : 나는 SQL Developer에서 일하고 있어요 것은

답변

1

나는 이런 식으로 뭔가를 기대할 수 :

+0

다음과 같이 표시됩니다. ORA-04082 : 테이블 수준 트리거에서 허용되지 않는 NEW 또는 OLD 참조 –

+0

@RacoltaTudor. . . 예, 행 수준의 트리거 여야합니다. –

+0

행 수준이 아닌가요? 당신이 제공 한 것 –