본문 바로가기

전체 글108

[ORA-00913] 값의 수가 너무 많습니다. 값을 INSERT하는 도중에 오류가 발생했습니다. 원인 INSERT INTO 절의 컬럼 수보다 VALUES 절의 값 수가 많을 경우에 발생합니다. INSERT INTO CR_WRAP_APPL_MST( BUSI_SEQ , VIN , GROUP_ID , APPL_GUBN , CUST_NM , HP_NO , AL_OUTSIDE_OPT , AD_DRAFT , REMARK1 , REMARK2 , APPL_STATUS , APPL_DT , REG_DT , REG_USER_ID -- 컬럼 수 : 14개 ) VALUES( #busiSeq# , #vin# , #groupId# , #applGubn# , #custNm# , #hpNo# , #alOutsideOpt# , #adDraft# , #remark1# , #rema.. 2023. 4. 17.
[ORA-01790] 대응하는 식과 같은 데이터 유형이어야 합니다. 여러 SELECT 문을 UNION ALL 하는 과정에서 오류가 발생하였습니다. 원인 UNION ALL 함수로 행을 합치는 과정에서 컬럼의 데이터 형식이 달라서 오류가 났습니다. /* 변경 전 */ SELECT 123, 456 FROM DUAL--숫자타입 UNION ALL SELECT 'ORACLE', '' FROM DUAL--문자타입 숫자 타입 컬럼과 문자 타입 컬럼을 합치려 하니 오류가 발생합니다. 해결 방법 합치려는 열의 데이터 타입을 일치시킵니다. /* 변경 후 */ SELECT '123', '456' FROM DUAL--문자타입 UNION ALL SELECT 'ORACLE', '' FROM DUAL--문자타입 숫자 타입 컬럼을 문자 타입으로 변경하니 정상적으로 합쳐졌습니다. 2023. 4. 7.
[ORA-01400] NULL을 ("SCHEMA"."TABLE"."COLUMN") 안에 삽입할 수 없습니다. 테이블에 데이터를 INSERT하는 과정에서 오류가 발생하였습니다. 원인 1. 저는 NUMBER 타입 컬럼에 null값을 INSERT하려 해서 오류가 났습니다. 2. 또 다른 원인으로는 기본키 컬럼, NOT NULL 조건의 컬럼에 null값을 넣으려하면 발생한다고 합니다. 해결 방법 1. NUMBER 타입 컬럼에 null값을 넣은 경우 넣을 데이터를 NVL함수를 이용하여 처리해 줍니다. NVL 함수는 "값"이 null일 경우 "지정값"으로 치환해주는 함수입니다. NVL("값", "지정값") null일 경우 0으로 처리하면 되겠습니다. → NVL("값", 0) /* 변경 전 */ INSERT INTO TBL_EXAMPLE( PERIOD--NUMBER타입 ) VALUES( #period# ) /* 변경 후 *.. 2023. 4. 5.
[Oracle] GREATEST, LEAST 함수 / 최댓값, 최솟값 구하기 여러 값들 중에서 최댓값, 최솟값을 구할 수 있는 GREATEST, LEAST 함수에 대해 알아보겠습니다. MAX, MIN 함수도 최댓값, 최솟값을 구하는 함수이지만 차이점이 있습니다. MAX, MIN 함수는 하나의 컬럼의 값 중 최댓값, 최솟값을 구하는 함수이고, GREATEST, LEAST 함수는 여러 컬럼의 값을 비교하여 최댓값, 최솟값을 구하는 함수입니다. GREATEST GREATEST 함수는 최댓값을 구하는 함수로 인자 값들 중 가장 큰 값을 반환합니다. 형식 숫자 비교 SELECT GREATEST(1, 23, 45, 67) FROM DUAL -- 결과 : 67 문자 비교 문자를 비교할 때는 ASCII 코드 값으로 변환하여 값을 비교합니다. SELECT GREATEST('A', 'B', 'C'.. 2022. 11. 16.
[ORA-17059] java.sql.SQLException 내부 표기로 변환할 수 없습니다. xml 파일에서 SELECT문을 작성하여 실행하는 과정에서 오류가 발생했습니다. 원인 result type을 잘못 지정해서입니다. resultClass를 Map으로 했어야 하는데 Integer로 지정했습니다. 복붙을 하다보니 이런 실수가 나왔네요.. 해결 방법 result type 확인하여 맞춰줍니다. 2022. 10. 25.