2014년 5월 29일 목요일

Conditional Insert All 문장은 입력 대상에 [자바개발자교육/자바교육/자바강좌/자바,Spring교육잘하는곳/자바,spring교육추천/자바실무교육/JAVA/JAVA교육/JAVA스프링학원/JAVA실무교육] 대해 조건을 걸어 그 조건에 따라 입력 데이터를 서로 다른 테이블에 나누어 입력하고자 할 때 사용 합니다. [형식] INSERT ALL [WHEN 조건 THEN INTO TABLE_NAME VALUES 값 ] [예] 아래 예는 EMP 테이블의 데이터를 그 사람의 부서코드(10,20,30,40,50)에 따라 서로 다른 테이블에 입력을 하는 아주 간단한 예 입니다. 참고하세요~ select * from emp EMPNO SAL DEPTNO ======================= 7369 800 20 7499 1600 30 7521 1250 30 7566 2975 20 7654 1250 30 7698 2850 30 7782 2450 10 7788 3000 20 7839 5000 10 7844 1500 30 7876 1100 20 7900 950 30 7902 3000 20 7934 1300 10 다음과 같이 연습용 테이블을 만듭니다. create table dept_10 ( empno number, sal number, deptno number ) create table dept_20 ( empno number, sal number, deptno number ) create table dept_30 ( empno number, sal number, deptno number ) create table dept_40 ( empno number, sal number, deptno number ) create table dept_50 ( empno number, sal number, deptno number ) INSERT ALL WHEN deptno = 10 THEN INTO DEPT_10 VALUES (empno, sal, deptno) WHEN deptno = 20 THEN INTO DEPT_20 VALUES (empno, sal, deptno) WHEN deptno = 30 THEN INTO DEPT_30 VALUES (empno, sal, deptno) WHEN deptno = 30 THEN INTO DEPT_40 VALUES (empno, sal, deptno) WHEN deptno = 30 THEN INTO DEPT_50 VALUES (empno, sal, deptno) SELECT empno, sal, deptno FROM emp commit select * from dept_10 EMPNO SAL DEPTNO ======================= 7782 2450 10 7839 5000 10 7934 1300 10 select * from dept_50 EMPNO SAL DEPTNO ======================= 7499 1600 30 7521 1250 30 7654 1250 30 7698 2850 30 7844 1500 30 7900 950 30 [출처] 오라클자바커뮤니티 - http://www.oraclejavacommunity.co.kr/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=113 오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급 www.oraclejavacommunity.com 평일주간(9:30~18:20) 개강 (5/30)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 (5/30)[기업100%환급]SQL기초에서 Schema Object까지 (6/09)[기업100%환급]PL/SQL,ORACLE HINT,TUNING (6/09)[기업100%환급]안드로이드개발자과정 (6/09)[기업100%환급]Spring ,MyBatis,Hibernate실무과정 (6/16)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍 (6/23)[교육전취업확정,채용예정자교육]Spring,MyBatis,XPlatform실무프로젝트과정 평일야간(19:00~21:50) 개강 (5/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지 (6/03)안드로이드개발자과정 (6/03)웹퍼블리싱 마스터 (6/10)C#4.0, ADO.NET, Network 프로그래밍 (6/10)Spring3.X, MyBatis, Hibernate실무과정 (6/18)C#,ASP.NET마스터 (6/26)SQL초보에서실전전문가까지 주말(10:00~17:50) 개강 (5/31)Spring3.X, MyBatis, Hibernate실무과정 (5/31)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지 (5/31)SQL초보에서실전전문가까지 (5/31)C#,ASP.NET마스터 (5/31)실무예제로 배워보는 jQuery(개발자/디자이너를위한) (5/31)안드로이드개발자과정 주말저녁(18:30~22:20) 개강 (6/21)JAVA,Network&WEB&Framework (6/21)SQL기초에서실무까지

Conditional Insert All 문장은 입력 대상에 [자바개발자교육/자바교육/자바강좌/자바,Spring교육잘하는곳/자바,spring교육추천/자바실무교육/JAVA/JAVA교육/JAVA스프링학원/JAVA실무교육]


대해 조건을 걸어 그 조건에 따라 입력 데이터를 서로 다른 테이블에 나누어 
입력하고자 할 때 사용 합니다. 

[형식] 
INSERT ALL 
[WHEN  조건 THEN 
  INTO TABLE_NAME VALUES 값 ] 
  

[예] 

아래 예는 EMP 테이블의 데이터를 그 사람의 부서코드(10,20,30,40,50)에 따라 서로 다른 테이블에 입력을 하는 아주 간단한 예 입니다. 

참고하세요~ 

select * from emp 

EMPNO  SAL    DEPTNO 
======================= 
7369        800        20 
7499        1600        30 
7521        1250        30 
7566        2975        20 
7654        1250        30 
7698        2850        30 
7782        2450        10 
7788        3000        20 
7839        5000        10 
7844        1500        30 
7876        1100        20 
7900        950        30 
7902        3000        20 
7934        1300        10 

다음과 같이 연습용 테이블을 만듭니다. 

create table dept_10 ( 
    empno number, 
        sal number, 
        deptno number 


create table dept_20 ( 
    empno number, 
        sal number, 
        deptno number 


create table dept_30 ( 
    empno number, 
        sal number, 
        deptno number 


create table dept_40 ( 
    empno number, 
        sal number, 
        deptno number 


create table dept_50 ( 
    empno number, 
        sal number, 
        deptno number 


INSERT ALL 
  WHEN deptno = 10 THEN 
    INTO DEPT_10 VALUES (empno, sal, deptno) 
  WHEN deptno = 20 THEN 
    INTO DEPT_20 VALUES (empno, sal, deptno) 
  WHEN deptno = 30 THEN 
    INTO DEPT_30 VALUES (empno, sal, deptno) 
  WHEN deptno = 30 THEN 
    INTO DEPT_40 VALUES (empno, sal, deptno) 
  WHEN deptno = 30 THEN 
    INTO DEPT_50 VALUES (empno, sal, deptno) 
SELECT empno, sal, deptno 
FROM  emp 

commit 



select * from dept_10 

EMPNO  SAL    DEPTNO 
======================= 
7782        2450        10 
7839        5000        10 
7934        1300        10 


select * from dept_50 

EMPNO  SAL    DEPTNO 
======================= 
7499        1600        30 
7521        1250        30 
7654        1250        30 
7698        2850        30 
7844        1500        30 
7900        950            30 

댓글 없음:

댓글 쓰기