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 |