INSERT : 테이블에 데이터(행) 등록
원칙적으로 INSERT문은 1회 실행에 1회 삽입 처리
구문
INSERT INTO 테이블명 (열1,열2, 열3 .... ) VALUES (값1, 값2, 값3 .... ) ;
구문사용시 주의점
- 열 리스트와 값 리스트의 수, 타입이 일치해야 한다.
(예시 : date타입에 String형을 넣으려 하거나, date형과 String형을 삽입할 수 없습니다.
'ORA-01861 리터럴이 형식 문자열과 일치하지 않음' 에러가 발생함)
- 테이블의 모든 열에대해 INSERT 하는 경우, 열리스트는 생략 가능 하다.
- 값에 대한 입력이 문자형이면 ' ' (작은 따옴표) 사용
- INSERT 문에서 열명을 생략하면 기본값이 할당 된다. (기본값 설정 안되어 있을시 NULL 처리)
1. 다른 테이블에서 데이터를 선택(SELECT) 해서 INSERT 하고 싶을 때
=> INSERT ... SELECT 문을 사용하면 된다.
=> SELECT 구문의 결과 데이터가 삽입되는 것이다.
①테이블에 ②테이블에서 조회한 데이터를 삽입합니다.
구문
INSERT INTO 테이블명① (열1,열2, 열3 .... )
SELECT 열1, 열2, 열3 FROM 테이블명②
2. 테이블 구조가 같을때는 SELECT * 처리 가능
구문
INSERT INTO 테이블명
SELECT *
FROM 테이블명
WHERE 조건절(생략가능)
=> 부가 설명
SELECT 문으로 조회한 테이블에 8행의 데이터가 들어있다면, 그 8행의 데이터가 INSERT 하고자 하는 테이블에 추가 되는 것이다. ( 내가 SELECT한 내용 => INSERT문으로 추가할래! )
'DBMS > Oracle' 카테고리의 다른 글
[Oracle] 조회한 가상 컬럼의 연산 (0) | 2021.02.10 |
---|---|
[Oracle] UNION, UNION ALL, 집합 연산 (0) | 2021.01.13 |
[Oracle] Create / Alter / Drop (0) | 2020.12.18 |
[Oracle] 자동 COMMIT, ROLLBACK 처리 (0) | 2020.12.09 |
[Oracle] NVL , NVL2, DECODE (0) | 2020.12.09 |