이 코드를 실행하는 데 문제가 있습니다. 그것은 트리거가 컴파일 오류로 생성되었지만 잘못된 점을 설명하지 않으며 출력을 제공하지 않는다고 말합니다. 아래 코드와 제가 주어진 오류입니다. 나는 Oracle 11g R1을 사용 중이며 PL/SQL을 사용하고 있습니다.SQL - Oracle 11g - PL/SQL - 트리거 컴파일 오류
CREATE OR REPLACE TRIGGER checkRecommendedAge
BEFORE INSERT OR UPDATE ON Loan
FOR EACH ROW
DECLARE
borAge number;
ex exception;
BEGIN
SELECT count(*) INTO borAge
FROM Loan
WHERE dateOut =: new.dateOut;
IF borAge < 18 THEN
dbms.output.put_line('Row added to Book table succesful');
ELSE
raise ex;
END IF;
EXCEPTION
WHEN EX THEN
raise_application_error("Error");
END;
/
오류 :
Warning: Trigger created with compilation errors.
SQL> SHOW ERRORS
Errors for TRIGGER CHECKRECOMMENDEDAGE:
LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0 PLS-00801: internal error [ph2csql_strdef_to_diana:bind]
6/2 PL/SQL: SQL Statement ignored
7/7 PL/SQL: ORA-06544: PL/SQL: internal error, arguments:
[ph2csql_strdef_to_diana:bind], [], [], [], [], [], [], []
10/3 PL/SQL: Statement ignored
10/3 PLS-00201: identifier 'DBMS.OUTPUT' must be declared
17/2 PL/SQL: Statement ignored
17/27 PLS-00201: identifier 'Error' must be declared
어떤 도움을 주시면 감사하겠습니다
감사
EXIT있어
컴파일 후에 'SHOW ERRORS'을 발행 해보십시오. – Chandu
@Cybernate 안녕하세요, 감사합니다! @Brian - 원래의 게시물 – Brian
을 업데이트했습니다. 복사 및 붙여 넣기에 오류가 없습니까? 에러 메시지는'dbms_output' 패키지를 참조 할 때 오타가 있음을 의미하는 식별자'dbms.output'을 참조합니다. 하지만 코드에 오타가없는 것 같습니다. 오류 메시지는 해당 텍스트가 게시 된 코드의 아무 곳에 나 나타나지 않을 때 식별자 '오류'를 참조합니다. 또한,'CREATE'를 포함한 완전한 트리거 정의를 게시 할 수 있습니까? –