2013-02-26 3 views
1

클래스 날짜가 세션이있는 요일과 일치하지 않으면 사용자가 클래스를 세션에 할당하지 못하도록 아래의 트리거를 작성했습니다. 내가오라클 트리거 생성 컴파일 오류로

Warning: Trigger created with compilation errors. 

SQL> show error trigger trig_alternative_classDate 
Errors for TRIGGER TRIG_ALTERNATIVE_CLASSDATE: 

LINE/COL ERROR 
-------- ----------------------------------------------------------------- 
5/2 PL/SQL: SQL Statement ignored 
5/80 PL/SQL: ORA-00923: FROM keyword not found where expected 

사람이 도와주세요 수 트리거를 실행할 때

CREATE OR REPLACE TRIGGER trig_alternative_classDate 
AFTER INSERT OR UPDATE ON ALTERNATIVE 
FOR EACH ROW 
DECLARE 
    classdate CHAR; 
    sessionday VARCHAR; 
BEGIN 
    SELECT to_char(to_date(class.class_date), 'Day') INTO classdate, sessions.day INTO sessionday 
    FROM SESSIONS, CLASS, DUAL, LOCATION, ALTERNATIVE 
    WHERE class.class_id = alternative.class_id 
    AND alternative.location_id = location.location_id 
    AND sessions.location_id = location.location_id; 
    IF sessions.day != to_char(to_date(class.class_date), 'Day') 
    THEN raise_application_error(-20999,'Invalid Class Date - Class Date does not match Session Day'); 
    END IF; 
END; 
/

그러나 나는 오류 메시지가?

답변

2

제거 초 INTO - 필요 INTO 하나 :

INTO classdate, sessions.day INTO sessionday 
+0

@ 벤 타운센드 - 당신은 시도 했습니까? 공장? – Art