코딩헤딩

오라클 데이터베이스 [ORA-00936, ORA-01722, ORA-00942] 오류 본문

데이터베이스/ORACLE

오라클 데이터베이스 [ORA-00936, ORA-01722, ORA-00942] 오류

멈머이 2025. 5. 27. 23:22
728x90

1. ORA-00936: missing expression

  • 의미 : SQL 구문에 필수적인 표현식이 빠짐.
  • 원인 : SELECT, INSERT 등의 구문에 컬럼이나 값이 빠짐, 괄호 안이 비어 있는 경우
SELECT FROM users;


 -- 올바른 예
SELECT username FROM users;

 

 

2. ORA-01722: invalid number

  • 의미 : 문자형 값을 숫자로 변환하려다가 실패함
  • 원인 : WHERE 절에서 숫자형 컬럼에 문자 입력, TO_NUMBER 또는 숫자 연산 시 문자값 사용
SELECT * FROM users WHERE age = 'abc';


-- 올바른 예
  --age가 숫자형인데 'abc'는 숫자가 아님 또는 문자형 컬럼에 IS NUMERIC 체크 후 비교
SELECT * FROM users WHERE age = 25;

 

 


3. ORA-00942: table or view does not exist

  • 의미 : 지정한 테이블 또는 뷰가 존재하지 않음
  • 원인 : 오타, 권한 없음, 다른 스키마의 테이블 접근
SELECT * FROM userz;

  --발생 원인
    --테이블 이름 오타: userz → users
    
    
 -- 올바른 예
 SELECT * FROM users; 
  -- 또는 
 SELECT * FROM other_schema.users;
   -- → 다른 스키마의 테이블은 접근 권한 부여 필요
728x90