본문 바로가기

DATABASE/Oracle

[오라클] INSERT INTO ~ SELECT

Oracle
  - 테이블에 있는 컬럼을 명시적으로 지정하지 않아도 가능하다.
  
  - 예제
    INSERT INTO emp_log 
    SELECT * FROM emp WHERE empno = 7900
  
  
 MSSQL
  - 테이블에 있는 컬럼을 명시적으로 지정해야 한다.
  - 자동증가 컬럼이 지정되어 있는 경우 SET IDENTITY_INSERT  [dbo].[table_name] ON 구문 사용

  
  - 예제
    INSERT INTO emp_log 
               (empno, ename, job, mgr, hiredate, sal, comm, deptno)
    SELECT  empno, ename, job, mgr, hiredate, sal, comm, deptno
    FROM emp
    WHERE empno = 7900
    
  - 예제 : 테이블에 자동증가 컬럼이 지정되어 있는 경우    
    SET IDENTITY_INSERT  [dbo].[CLT_INSPECT_LOG_MPEG_HISTORY] ON 
    
    INSERT INTO emp_log 
               (empno, ename, job, mgr, hiredate, sal, comm, deptno)
    SELECT  empno, ename, job, mgr, hiredate, sal, comm, deptno
    FROM emp
    WHERE empno = 7900


출처 : http://www.gurubee.net/article/13713

'DATABASE > Oracle' 카테고리의 다른 글

[oracle]DBMS별 TO_CHAR  (0) 2014.08.06
[오라클] DB LINK 사용  (0) 2014.08.04
[오라클] 테이블 복사  (0) 2014.07.04
[오라클] exp & imp  (0) 2014.06.29
[오라클] 세션 확인 & 킬  (0) 2014.06.29