본문 바로가기
개발 수업/DB

[Oracle/SQL] 다중테이블 insert

by 오늘 하루s 2023. 6. 13.
728x90
더보기

Day31. 230613

다중테이블 insert

단 하나의 insert 문장으로 여러 개의 insert문을 수행하는 효과,

특정 조건에 맞는 데이터만 특정 테이블에 입력되게 할 수 있는 문장.

 

insert [all | first]
  [when 조건1 then]
   into 테이블명[(컬럼명,..)] values(값,..)
  [when 조건n then]
   into 테이블명[(컬럼명,..)] values(값,..)
  [else]
   into 테이블명[(컬럼명,..)] values(값,..)
서브쿼리문;

 

emp에서 이름에 A가 포함된 사원번호, 사원명을 emp2,emp3에 입력

 

1
2
3
4
5
6
insert all
  into emp2(empno,ename) values(empno,ename)
  into emp3(empno,ename) values(empno,ename)
select empno, ename
from emp
where ename like '%A%';
cs

 

insert all

조건 충족하면 모두 들어감.

 

1
2
3
4
5
6
7
insert all
 when sal>=2850 then
  into emp2 values(empno,ename,sal)
 when sal>=3000 then
  into emp3 values(empno,ename,sal)
select empno, ename, sal
from emp;
cs

 

emp2 테이블
emp3 테이블

 

 

insert first

로우 기준으로 첫 번째 조건을 만족하면 그 다음 조건은 건너 띔.

1
2
3
4
5
6
7
insert first
 when sal>=2850 then
  into emp2 values(empno,ename,sal)
 when sal>=3000 then
  into emp3 values(empno,ename,sal)
select empno, ename, sal
from emp;
cs

emp2 테이블
emp3 테이블

 

728x90

'개발 수업 > DB' 카테고리의 다른 글

[Oracle/SQL] table 제약조건  (0) 2023.06.14
[Oracle/SQL] 테이블 DDL  (0) 2023.06.13
[Oracle/SQL] 서브쿼리 수정,삭제  (0) 2023.06.13
[Oracle/SQL] VIEW  (0) 2023.06.12
[Oracle/SQL] 서브쿼리  (0) 2023.06.12