INSERT 서브쿼리 (SELECT INSERT) 

    INSERT INTO emptable (empno, ename, job, sal, comm, deptno)
    SELECT 13
         , A.ename
         , A.job
         , A.sal
         , A.comm
         , A.deptno
      FROM emptable A
     WHERE A.empno = 11

    VALUES 절 대신에 서브 쿼리 사용 여러 건의 데이터를 INSERT 

    SELECT로 값을 조회 후 파라미터로 전달된 값과 합쳐서 INSERT를 할 경우 사용

     

    emptable의 empno = 11 인 name, job, sal, comm, deptno를

    emptable의 empno = 13에 INSERT 한다.


    INSERT ALL

    INSERT ALL
      WHEN sal >= 3000 THEN
           INTO emp_sal1 VALUES (empno, name, sal)
      WHEN sal >= 2000 THEN
           INTO emp_sal2 VALUES (empno, name, sal)   
      ELSE
           INTO emp_sal3 VALUES (empno, name, sal)
    SELECT a.empno
         , a.name
         , a.sal
      FROM emp a
     WHERE a.empno = 11

    조건에 따라서 여러개의 테이블에 INSERT 할 경우 사용


    INSERT FIRST

    INSERT FIRST
      WHEN sal >= 3000 THEN
           INTO table1 VALUES (empno, ename, sal)
      WHEN sal >= 2000 THEN
           INTO table2 VALUES (empno, ename, sal)   
      ELSE
           INTO table3 VALUES (empno, ename, sal)
    SELECT a.empno
         , a.ename
         , a.sal
      FROM emp a
     WHERE a.empno = 7788

    조건에 만족하는 첫 번째 WHEN~THEN의 테이블에만 INSERT

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading