반응형
스케줄링 쿼리 쓰다가 키워드를 중복 체크 하지않아
계속 DB에 데이터가 쌓이고 있어서
Merge into 구문 Merge into ~insert()values();
로 쿼리 작성했는데
자꾸 ORA-00926 누락된 Values 키워드 오류 떠서.. 실패...구문 오류는 없는데
뭐지 확인했더니 데이터 없어서....ㅋㅋㅋㅋㅋ실수다
MERGE INTO TABLE A
USING
(
SELECT
'1500' AS VKBUR,
'151' AS VKGRP ,
'15101' AS BZIRK_AUFT,
'D110' AS WERKS,
'7100' AS LGORT
FROM DUAL) B
ON (A.VKBUR = B.VKBUR
AND A.VKGRP = B.VKGRP
AND A.BZIRK_AUFT = B.BZIRK_AUFT
AND A.WERKS=B.WERKS
AND A.LGORT=B.LGORT)
WHEN NOT MATCHED THEN INSERT TABLE
( VKBUR,
VKGRP,
BZIRK_AUFT,
WERKS,
LGORT,
USE_YN )
VALUES
( '1500',
'151',
'15101',
'D110',
'7100',
'1' )
쿼리에서 오류는 없으나 데이터가 없으니 null상태에서
어떤값이랑 비교 할 수 없으니 당연히 오류 발생
쿼리 수정
-- 데이터 존재 여부 확인 후 INSERT 수행
INSERT INTO TABLE(VKBUR, VKGRP, BZIRK_AUFT, WERKS, LGORT, USE_YN)
SELECT '1400', '143', '14303', 'G220', 'D258', '1'
FROM DUAL
WHERE NOT EXISTS
(
SELECT 1 FROM TABLE
WHERE
VKBUR = '1400'
AND VKGRP = '143'
AND BZIRK_AUFT = '14303'
AND WERKS = 'G220'
AND LGORT = 'D258'
);
즉,
데이터 존재 확인 후 비교 후 insert 넣거나, update, delete하도록
쿼리 짜면 된다..
진짜..아마추어같은 실수함..;;
반응형
'DEV_STUDY > WEB_DEV' 카테고리의 다른 글
개발자툴| VS CODE 코드 비교 (0) | 2025.03.06 |
---|---|
오라클 | 디비버 스키마 물음표 숫자나올 때 해결방법 (0) | 2025.03.05 |
오라클 | 테이블명세 확인 (0) | 2025.02.23 |
오라클 | 세션 확인 및 세션 킬 하는 방법 (0) | 2025.02.22 |