데이터베이스/오라클

[Oracle]오라클 INSERT INTO SELECT 예시

Unipiz 2020. 10. 20. 17:56

 INSERT문 기본 예시 

insert into temp_ (colA,colB,colC) values ('a1','b1','c1') -- 컬럼명 명시
ㅤ
ㅤ
insert into temp_ select 'a1','b1','c1' from dual          -- 컬럼명 생략
ㅤ
ㅤ
insert into temp_ (colA,colC) values (1,2)                 -- 특정 컬럼만 (숫자)

 

 

 기본 예제 

1. temp_ 데이블 생성.

create table temp_ ( colA VARCHAR2(100),colB VARCHAR2(100),colC VARCHAR2(100));

 

2. 삽입 할 데이터 select

select 'a1','b1','c1' from dual
union all
select 'a2','b2','c2' from dual
union all
select 'a3','b3','c3' from dual

 

3. temp_ 로 데이터 Insert

insert into temp_ 
select 'a1','b1','c1' from dual
union all
select 'a2','b2','c2' from dual
union all
select 'a3','b3','c3' from dual

 

4. 데이터 확인

select * from temp_

 

 

*컬럼명 생략INSERT, 묵시적 형변환

데이터를 삽입할 때는 컬렴명을 명시하는 것이 좋다.. 매일 밤 Job을 통해 Insert 시키는 프로시저가 있었는데, 컬렴명 생략한 Insert문을 간과하여 낭패를 본적 있다.

그리고 아주 편리한 묵시적 형변환..! 데이터 삽입 시 데이터타입과 데이터의 형태가 맞는지 유의하는 것은 필수지만 Varchar2에 '11',11 둘다 가능, Number에 '11',11 둘 다 가능하다.