2014-12-10 11 views
0

다음 코드의 구문 문제를 파악할 수 없습니다. 실행하면 오류가 발생합니다.Oracle sql - ORA-00907 및 잘못된 구문

ORA-00907: missing right parenthesis

누구든지 내 결함을 지적 할 수 있습니까?

CREATE OR REPLACE VIEW LATESTAPPLICATIONS AS 
SELECT * 
FROM application_history 
WHERE entry_time IN 
    (SELECT entry_time 
    FROM application_history 
    GROUP BY application_number;) 
ORDER BY entry_number;​ 

여기에 application_history에 대한 테이블 정의가 있습니다. 가장 최근의 타임 스탬프가있는 응용 프로그램 번호 만보고 싶을 것입니다.

CREATE TABLE "APPLICATION_HISTORY" 
    ( "ENTRY_NUMBER" NUMBER(28,0), 
"APPLICATION_NUMBER" NUMBER(16,0) CONSTRAINT "APP_NUM_NN" NOT NULL ENABLE, 
"ACTIVE" CHAR(1) DEFAULT 0 CONSTRAINT "ACTIVE_NN" NOT NULL ENABLE, 
"STATUS" VARCHAR2(40) DEFAULT 'APPLICATION ENTERED' CONSTRAINT "STATUS_NN" NOT NULL ENABLE, 
"DATE_APPROVED" DATE, 
"DATE_APPLIED" DATE DEFAULT SYSDATE CONSTRAINT "DATE_APPLIED_NN" NOT NULL ENABLE, 
"ENTRY_TIME" TIMESTAMP (6) DEFAULT SYSDATE, 
CONSTRAINT "ENTRY_NUM_PK" PRIMARY KEY ("ENTRY_NUMBER") 
USING INDEX ENABLE 
) 
+1

검색어 중간에';'가 있습니다. 오타로 닫아야합니다 ... –

답변

2

마지막 줄에는 1 줄의 세미콜론이 있습니다. GROUP BY application_number;) 제거하면 문제가 없습니다.

세미콜론은 오라클에서 쿼리 종료 자로 사용됩니다.

+0

세미콜론을 제거하면 오류가 발생합니다. ORA-00933 : SQL 명령이 제대로 끝나지 않았습니다. – IamPancakeMan

+0

@IamPancakeMan 문제가 계속 발생합니까? 끝에 세미 콜론이 1 개 필요합니다. – dubes