1. INSERT 명령문에서 서브쿼리 절을 이용하여 자신이나 다른 테이블에 데이터를 복사하여 여러 행 동시 입력
2. INSERT 명령문의 VALUES절 대신 서브쿼리에서 검색된 결과 집합을 한꺼번에 입력
3. 서브쿼리의 결과 집합은 INSERT 명령문에 지정된 칼럼 개수와 데이터 타입이 일치해야 함
4. 서브쿼리를 이용한 다중 행 입력시 테이블에 기본 키, 고유 키 제약조건이 중복되지 않도록 주의
5. 제약 조건을 위반할 경우 입력되지 않고 오류 발생


사용법 :
INSERT INTO TABLE_NM [(col1, col2, col3, ...)]
subQuery;


[ex]
insert
into message_resource(message_seq, process_code, message_name, create_date)
(select message_seq, process_code, message_name, create_date  -- subquery 부분 시작
   from message_resource      -- ......
  where resource_message_seq = 17)     -- subquery 부분 끝

 

보통은
INSERT
INTO TABLE_NM(col1, col2, col3, col4)
VALUES(col1, col2, col3, col4);
이런식이지만 values대신 insert할 테이블의 컬럼명과 같은 컬럼명 값이 나오는
subQuery를 써주면 됨

'프로그램 > DB' 카테고리의 다른 글

[펌] - ROLLUP operator  (0) 2009.03.27
[펌] - Group By절과 Having절  (0) 2009.03.27
오라클 시퀀스 생성하기  (0) 2009.03.16
[TOAD] 토드에서 쿼리문 자동정렬하기  (0) 2009.02.03
[펌] - 오라클 내장함수 - (2)  (0) 2008.09.05

+ Recent posts