반응형

회사 프로젝트에서 다중 데이터를 조회하여 필요한 컬럼들만 쏙쏙 뽑아서 INSERT 해야하는 경우가 빈번히 발생합니다.

지난 프로젝트에서도 사용했었는데 이번 기회에 잊어버리지 않도록 정리할 예정입니다 :-)

 

구문형식은 아래와 같습니다.

// 일반적인 INSERT 구문
INSERT INTO [테이블명] (컬럼명1, 컬럼명2, ....) 
VALUES (값1, 값2, ...);

//여러 행 INSERT 구문 
INSERT INTO [테이블명] (컬럼명1, 컬럼명2, ....) 
SELECT ...

 

SELECT 구문에는

SELECT 하는 테이블에 존재하지 않는 컬럼이더라도 #{값}#을 이용하여 INSERT 가 가능합니다. 

INSERT INTO TABLE_A (A_T1, A_T2, A_T3, A_T4, A_T5)
SELECT B_T1, B_T2, #bT3#, #bT4#, B_T5
FROM TABLE_B
WHERE B_T6 = 'B';

위와 같이 응용할 수 있습니다.

당연히 SELECT 구문에서는 JOIN 문도 사용이 가능합니다. 

 

예시에서 #bT3#, #bT4# 는 TABLE_B 에 없는 컬럼이며, view 단에서 데이터를 불러와 넣을 수 있는 것이죠.

 

위와같은 쿼리를 통해 SELECT 문과 INSERT 문 2가지를 별도로 만들지 않고, 1개의 쿼리로도 

다중 데이터를 INSERT 할 수 있습니다.

 

대신, INSERT 하고자 하는 컬럼 수와 SELECT 하는 컬럼 수는 꼭 맞춰주어야 합니다.

컬럼명보다는 갯수가 중요한 것이니 꼭 기억하세요! 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기