데이터베이스/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