SW/Database

ORA-00928: missing SELECT keyword / 원인과 해결 방법

잇슈 ITssue 2025. 5. 7. 11:17
반응형

ORA-00928: missing SELECT keyword

ORA-00928 오류는 SQL 문에서 SELECT 키워드가 누락되었거나 문법이 잘못되었을 때 발생합니다.

 

 

오류 원인

ORA-00928 오류는 다음과 같은 상황에서 발생할 수 있습니다:

  1. SELECT 문 자체의 누락: FROM 절이 있으나 SELECT가 없는 경우
  2. 서브쿼리에서 SELECT 생략: 예: INSERT INTO ... (SELECT ...) 문에서 SELECT 키워드 생략
  3. WITH절에서 SELECT 없이 종료: WITH절 정의 후 SELECT 없이 종료되는 경우
  4. PL/SQL 블록 내 문법 오류: SQL 문이 완전하지 않은 상태에서 실행

해결 방법

ORA-00928 오류를 해결하려면 다음 사항을 확인하십시오:

  1. SELECT 문 완전성 검토: SELECT, FROM, WHERE 등의 구성 요소가 모두 있는지 확인
  2. 서브쿼리 점검: INSERT, UPDATE, CREATE VIEW 등에서 사용하는 SELECT 구문 점검
  3. WITH절 뒤에 SELECT 구문 포함: WITH절은 반드시 SELECT 또는 MERGE, INSERT 등과 함께 사용되어야 함
  4. SQL Developer 또는 명령행에서 실행 시 SQL 문 끝에 세미콜론 추가

예시:

-- 오류 발생 예
SELECT FROM employees;

-- 올바른 예
SELECT * FROM employees;

-- 오류 발생 예 (WITH절만 작성됨)
WITH temp AS (SELECT * FROM dual);

-- 올바른 예
WITH temp AS (SELECT * FROM dual)
SELECT * FROM temp;

간단 요약

  • 에러 요약: SELECT 키워드 또는 SQL 문 전체가 올바르게 작성되지 않은 경우
  • 주요 원인: SELECT 생략, 서브쿼리 미완성, WITH절 문법 오류
  • 해결 방법: SQL 문 구조 점검 및 SELECT 키워드 포함 여부 확인

 

반응형