기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-01468: outer-join된 테이블은 1개만 지정할 수 있습니다
01468. 00000 -  "a predicate may reference only one outer-joined table"

 

 

발생 원인

Oracle 문법에서 OUTER JOIN은 LEFT OR RIGHT JOIN만 지원하고 FULL JOIN을 지원하지 않음

 

 

해결 방법

ANSI 문법으로 OUTTER JOIN 진행

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00937: 단일 그룹의 그룹 함수가 아닙니다
00937. 00000 -  "not a single-group group function"

 

 

발생 원인

DEPARTMENT_ID로 GROUP화를 진행하였으므로 그룹화된 DEPARTMENT_ID가 출력되야함

그러나, 그룹함수 MAX 사용 시, 1개의 RECORD만 RETURN되므로 DEPARTMENT_ID RECORD 수가 많아서 오류 발생

 

 

해결 방법

DEPARTMENT_ID 삭제

그룹함수 MAX에 따른 DEPARTMENT_ID값을 RETURN 받고 싶으면 그룹에 대한 조건절인 HAVING을 사용

-> 도출되는 DEPARTMENT_ID가 1개만 도출되도록 함

 

⭐ 조건절 작성 순서: SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY

 

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

오류 보고 -
ORA-01400: NULL을 ("C##JAVA"."PBOARD"."SEQ") 안에 삽입할 수 없습니다

 

 

발생 원인

PRIMARY KEY인 SQL에 대한 NULL값 입력이 허용되지 않음

 

 

해결 방법

1. PRIMARY KEY VALUE 입력

 

2. SEQ 값을 직접 부여하는 방법 대신 TABLE 편집에서 열 시퀀스 선택

 

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다.
01789. 00000 -  "query block has incorrect number of result columns"

 

 

발생 원인

집합연산자에 사용되는 쿼리들의 SELECT COL 목록은 개수와 데이터 타입이 반드시 일치해야함

 

 

해결 방법

만일 DEPARTMENTS에 HIRE_DATE COL이 없다면 DUMMY COLUMN인 NULL을 사용

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ ROWNUM 3, 4가 출력되지 않는 문제 발생

 

 

발생 원인

WHERE ROWNUM 사용 시, 구문에 만들어둔 ROWNUM이 아닌 기본 ROWNUM이 호출되어  2, 3, 4 등의 값이 조회되지 않음(ROWNUM 호출 시 시작값은 항상 1)

 

 

헤결 방법

ROWNUM에 대한 RN, ALIAS 사용