본문 바로가기

Database/Debug Log (52)

반응형
Database/Debug Log

[Oracle - Error] ORA-00924: BY 키워드가 없습니다. - "ORA-00924: missing BY keyword"

이번 글에서는 ORA-00924: missing BY keyword 에러 해결 방법에 대하여 알아보겠습니다. ORA-00924: BY 키워드가 없습니다.ORA-00924: missing BY keyword 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 현재 날짜를 조회하는 예제입니다.위의 쿼리를 실행하니 ORA-00924: missing BY keyword 에러가 발생하였습니다.에러가 발생한 이유는 간단합니다. BY 키워드가 누락되었기 때문입니다.즉, ORDER가 아니라 ORDER BY 구문이 맞습니다.해결 방법BY절이 필요한 것에는 BY를 붙여줍니다. (ORDER BY, GROUP BY) 이제 BY 키워드를 붙여 다시 쿼리를 실행해 보도록 하겠습니다.BY 키..

2020. 12. 17.
Database/Debug Log

[Oracle - Error] ORA-01847: 달의 날짜는 1에서 말일 사이어야 합니다. - "day of month must be bet

이번 글에서는 ORA-01847: day of month must be between 1 and last day of month 에러 해결 방법에 대하여 알아보겠습니다. ORA-01847 : 달의 날짜는 1에서 말일 사이어야 합니다.ORA-01847: day of month must be between 1 and last day of month 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 '20201232'의 문자열을 날짜 형식으로 바꿔보도록 시도한 예제입니다. 위의 쿼리에서 에러가 발생한 이유는 간단합니다. 12월은 1~31일까지 있습니다. 그런데, 12월 32일을 출력하려고 하니까 발생한 에러였습니다.해결 방법해당 월에 따라, 일자를 범위 안에서 작성하시..

2020. 10. 5.
Database/Debug Log

[Oracle - Error] ORA-01843: 지정한 월이 부적합합니다. - "not a valid month"

이번 글에서는 ORA-01843: not a valid month 에러 해결 방법에 대하여 알아보겠습니다. ORA-01843 - 지정한 월이 부적합합니다. ORA-01843 - "not a valid month" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 문자열인 '20209901'을 날짜 형식으로 바꿔보려고 작성한 예제입니다.위의 쿼리를 실행하니 ORA-01843 - "not a valid month" 에러가 발생하였습니다.에러가 발생한 이유는 'month'인 '월'은 1월부터 12월 즉 01~12의 값만 올 수 있습니다.즉, 월을 01~12 사이의 값으로 입력하지 않아 발생한 에러입니다.해결 방법포맷형식에서 월 부분을 01~12 사이로 입력하면 됩니다...

2020. 10. 4.
Database/Debug Log

[Oracle - Error] ORA-12899: "USER"."TABLE"."COLUMN" 열에 대한 값이 너무 큼(실제: x, 최대값: n) - "value too large for column actual x maximum n"

ORA-12899: "USER"."TABLE"."COLUMN" 열에 대한 값이 너무 큼(실제: x, 최대값: n) 에러 해결 방법에 대하여 알아보겠습니다. ORA-12899: "USER"."TABLE"."COLUMN" 열에 대한 값이 너무 큼(실제: x, 최대값: n)ORA-12899: "value too large for column actual x maximum n" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 DEPTNO와 DNAME 데이터를 추가하려고 작성한 예제입니다.에러가 발생한 이유는 위의 쿼리에서 DNAME에 대한 최댓값이 14라고 나와있습니다. DNAME의 최댓값이 14란 소리는 처음에 DNAME의 컬럼을 설정할 때 크기를 VARCHAR2(1..

2020. 10. 2.
Database/Debug Log

[Oracle - Error] ORA-01400: NULL을 ("USER"."TABLE"."COLUMN") 안에 삽입할 수 없습니다 - "cannot insert NULL into ("USER"."TABLE"."COLUMN")"

이번 글에서는 ORA-01400: NULL을 ("USER"."TABLE"."COLUMN") 안에 삽입할 수 없습니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-01400: NULL을 ("USER"."TABLE"."COLUMN") 안에 삽입할 수 없습니다ORA-01400: "cannot insert NULL into ("USER"."TABLE"."COLUMN")" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 DNAME에 'SALES'라는 데이터만 삽입하려고 작성한 예제입니다.에러가 발생한 이유는 DEPT의 테이블에는 기본키값인 DEPTNO와 DNAME, LOC가 존재합니다. 위의 쿼리가 만약 정상적으로 작동했다면 아래의 데이터로 삽입되었을 것입니다. D..

2020. 10. 1.
Database/Debug Log

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

이번 글에서는 ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다. 에러 해결 방법에 대하여 알아 볻록 하겠습니다. ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다.ORA-01789: "query block has incorrect number of result columns" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 UNION을 이용하여 두 개의 조회된 내용의 쿼리를 합쳐서 조회하려고 작성한 예제입니다. 위의 쿼리에서 에러가 발생한 이유는 UNION의 절대적인 조건으로는 비교되는 컬럼의 수가 일치해야 합니다. 첫 번째 쿼리에서 EMPNO, ENAME, COMM 총 3개의 컬럼을 조회했다면, 두 번째 쿼리에서..

2020. 9. 30.
Database/Debug Log

[Oracle - Error] ORA-01821: 날짜 형식이 부적합합니다 - "date format not recognized"

이번 글에서는 ORA-01821: 날짜 형식이 부적합합니다 에러 해결 방법에 대하여 알아보도록 하겠습니다. ORA-01821: 날짜 형식이 부적합합니다ORA-01821: "date format not recognized" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 오늘 날짜 20200808을 조회하려고 작성한 예제입니다. 위의 쿼리를 실행하니 ORA-01821: "date format not recognized" 에러가 발생하였습니다.에러가 발생한 이유는 쿼리를 보시면 어느정도 감이 오실거라고 생각합니다.위의 날짜 포맷을 자세히 보니 'YYYYMMDDZ'라고 적혀져있습니다. 오타로 Z가 추가로 적혀있었습니다. 해결 방법날짜 포맷을 올바르게 적어주시면 됩니..

2020. 9. 28.
Database/Debug Log

[Oracle - Error] ORA-01858: 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다. - "a non-numeric character was found where a numeric was expected"

이번 글에서는 ORA-01858: 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다. 에러 해결 방법에 대하여 알아보겠습니다. ORA-01858: 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다.ORA-01858: "a non-numeric character was found where a numeric was expected" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 현재시간을 DATE형으로 변환해보려고 작성한 예제입니다.에러가 발생한 이유는 TO_DATE는 숫자타입을 날짜타입으로 변환시켜주는 형변환 함수입니다. 그렇게 되면 컬럼명에 숫자값이 와야합니다.즉, 첫 번째 인수로 숫자값이 아닌 문자값이 들어가서 발생한 에러였습니다...

2020. 9. 27.
Database/Debug Log

[Oracle - Error] ORA-00909: 인수의 개수가 부적합합니다 - "invalid number of arguments"

이번 글에서는 ORA-00909: 인수의 개수가 부적합합니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-00909: 인수의 개수가 부적합합니다 ORA-00909: "invalid number of arguments" 쿼리를 짜다가 아래와 같은 에러가 발생하였습니다. 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다. 아래의 쿼리는 LOC라는 컬럼이 NULL이라면 'IS NULL'이라고 조회하려고 작성한 예제입니다. 위의 쿼리를 실행하니 ORA-00909: "invalid number of arguments" 에러가 발생하였습니다. 에러가 발생한 이유는 NVL2의 인수로는 NVL2(컬럼명, 'NULL이 아니면 조회되는 값', 'NULL이면 출력되는 값') 총 3가지입니다. ..

2020. 9. 26.
Database/Debug Log

[Oracle - Error] ORA-00938: 함수의 인수가 충분하지 않습니다 - "not enough arguments for function"

이번 글에서는 ORA-00938: 함수의 인수가 충분하지 않습니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-00938: 함수의 인수가 충분하지 않습니다ORA-00938: "not enough arguments for function" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 coalesce라는 함수를 사용하여 null인 값을 바꾸어 조회하려고 작성한 예제입니다.에러가 발생한 이유는 COALESCE 함수의 인수로는 COALESCE("컬럼명", 'NULL일 경우 치환할 값')을 받아와야합니다. 즉, 인수를 2가지 적어야하는데 1가지만 적어서 발생한 에러입니다.해결 방법어떤 함수를 사용하셨다면 그 함수의 인수에 맞게 적어주시면 됩니다.COALESCE 함..

2020. 9. 25.
Database/Debug Log

[Oracle - Error] ORA-01747: 열명을 올바르게 지정해 주십시오 - "invalid user.table.column, table.column, or column specification"

이번 글에서는 ORA-01747: 열명을 올바르게 지정해 주십시오 에러 해결 방법에 대하여 알아 보도록 하겠습니다. ORA-01747: 열명을 올바르게 지정해 주십시오ORA-01747: "invaild user.table.column, table.column, or column specification" 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 부서번호(deptno)가 50인 것을 94로 수정하려고 작성한 예제입니다. 위의 쿼리에서 에러가 발생한 이유는 UPDATE 문을 올바르게 작성하지 않아서 발생한 에러 혹은 불필요한 컴마 등에 의한 에러입니다.[ UPDATE 테이블명 SET 컬럼 WHERE ] 이게 대표적인 구문입니다. 이처럼 구문을 적지 않았거나 ..

2020. 9. 21.
Database/Debug Log

[Oracle - Error] ORA-30483: 윈도우 함수를 여기에 사용할 수 없습니다 - "window functions are not allowed here"

이번 글에서는 ORA-30483: 윈도우 함수를 여기에 사용할 수 없습니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-30483: 윈도우 함수를 여기에 사용할 수 없습니다 ORA-30483: "window functions are not allowed here".에러 발생예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 샐러리(sal)를 가장 많이 받는 사원의 이름, 샐러리를 조회하려고 작성한 예제입니다.위의 쿼리를 실행하니 ORA-30483: "window functions are not allowed here" 에러가 발생하였습니다.해결 방법윈도우 함수는 WHERE절에서는 사용할 수 없습니다.여기서 윈도우 함수란, ANK, DENSE_RANK, ROW..

2020. 9. 20.
Database/Debug Log

[Oracle - Error] ORA-00935: 그룹 함수의 중첩된 레벨이 너무 깊습니다. - "group function is nested too deeply"

이번 글에서는 ORA-00935: 그룹 함수의 중첩된 레벨이 너무 깊습니다. 에러 해결 방법에 대하여 알아보겠습니다. ORA-00935: 그룹 함수의 중첩된 레벨이 너무 깊습니다. ORA-00935: "group function is nested too deeply"에러 발생예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 sal의 합계에 대한 평균값 중 가장 작은 값을 조회하려고 작성한 예제입니다.위의 쿼리를 실행하니 ORA-00935: "group function is nested too deeply" 에러가 발생하였습니다.해결 방법에러가 발생한 이유는 그룹 함수는 한 컬럼을 기준으로 2개 까지는 중첩하여 사용할 수 있으나,3개 이상을 중첩하여 사용하면 위와 ..

2020. 9. 19.
Database/Debug Log

[Oracle - Error] ORA-00978: GROUP BY 구 없이 그룹 함수가 내포되었습니다 - "nested group function without GROUP BY"

이번 글에서는 ORA-00978: GROUP BY 구 없이 그룹 함수가 내포되었습니다 에러 해결 방법에 대하여 알아보겠습니다. ORA-00978: GROUP BY 구 없이 그룹 함수가 내포되었습니다ORA-00978: "nested group function without GROUP BY" 에러 발생아래의 쿼리는 sal의 합계에 대한 평균을 구하는 쿼리를 조회하도록 작성한 예제입니다.위의 쿼리에서 에러가 발생한 이유는 GROUP BY 절을 작성하지 않아서 발생한 에러입니다.해결 방법GROUP BY 절만 추가하면 됩니다. GROUP BY절을 추가하여 다시 쿼리를 실행하도록 하겠습니다.GROUP BY 절을 포함하니까 에러 없이 바로 실행된 것을 확인할 수 있습니다.

2020. 9. 18.
Database/Debug Log

[Oracle - Error] ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다. - "single-row subquery returns more than one row"

이번 글에서는 ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다. 에러 해결방법에 대하여 알아보겠습니다. ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다.ORA-01427: "single-row subquery returns more than one row" 쿼리를 짜다가 아래와 같은 에러가 발생하였습니다. 예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 dpetno가 10인 dept 테이블의 전체 컬럼을 조회하려고 작성한 예제입니다. 위의 쿼리를 실행하니 ORA-01427: "single-row subquery returns more than one row" 에러가 발생하였습니다. 에러가 발생한 이유는 WHERE..

2020. 9. 17.
Database/Debug Log

[Oracle - Error] ORA-00932: 일관성 없는 데이터 유형: DATE이(가) 필요하지만 NUMBER임 - "inconsistent datatypes: expected DATE got NUMBER"

이번 글에서는 ORA-00932: 일관성 없는 데이터 유형: DATE이(가) 필요하지만 NUMBER임 에러 해결 방법에 대하여 알아보겠습니다. ORA-00932: 일관성 없는 데이터 유형: DATE이(가) 필요하지만 NUMBER임ORA-00932: "inconsistent datatypes: expected DATE got NUMBER" 쿼리를 짜다가 아래와 같은 에러가 발생하였습니다.에러 발생예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 deptno가 0보다 작다면 현재 시간을, 그게 아니라면 0을 조회하려고 작성한 예제입니다. 위의 쿼리를 실행하니 ORA-00932: "inconsistent datatypes: expected DATE got NUMBER"..

2020. 9. 13.
Database/Debug Log

[Oracle - Error] ORA-00932: 일관성 없는 데이터 유형: NUMBER이(가) 필요하지만 DATE임 - "inconsistent datatypes: expected NUMBER got DATE"

이번 글에서는 ORA-00932: 일관성 없는 데이터 유형: NUMBER이(가) 필요하지만 DATE임 에러 해결 방법에 대하여 알아보겠습니다. ORA-00932: 일관성 없는 데이터 유형: NUMBER이(가) 필요하지만 DATE임ORA-00932: "inconsistent datatypes: expected NUMBER got DATE" 쿼리를 짜다가 아래와 같은 에러가 발생하였습니다.에러 발생예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 deptno가 0보다 작다면 0을, 0보다 크다면 현재 날짜를 조회하려고 작성한 예제입니다. 에러가 발생한 이유는 THEN 절에서 NUMBER 형인 0을 받아왔으면 ELSE 절에서도 NUMBER 형을 받아와야 하는데 DATE..

2020. 9. 12.
Database/Debug Log

[Oracle - Error] ORA-00932: 일관성 없는 데이터 유형: CHAR이(가) 필요하지만 DATE임 - "inconsistent datatypes: expected CHAR got DATE"

이번 글에서는 ORA-00932: 일관성 없는 데이터 유형: CHAR이(가) 필요하지만 DATE임 에러 해결 방법에 대하여 알아보겠습니다. ORA-00932: 일관성 없는 데이터 유형: CHAR이(가) 필요하지만 DATE임ORA-00932: "inconsistent datatypes: expected CHAR got DATE" 쿼리를 짜다가 아래와 같은 에러가 발생하였습니다.에러 발생예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.아래의 쿼리는 deptno가 0보다 작으면 '0'을 0보다 작지 않으면 현재 날짜를 조회하려고 작성한 예제입니다. 에러가 발생한 이유는 THEN 절에서는 VARCHAR2 형인 '0'을 받아왔으면 ELSE 절에서도 VARCHAR2 형을 받아와야 하는데..

2020. 9. 11.
반응형