복붙노트

[SQL] 또 다른 하나 개의 SQL Server 테이블에서 행을 복사하는 방법

SQL

또 다른 하나 개의 SQL Server 테이블에서 행을 복사하는 방법

나는 두 개의 동일한 테이블을 가지고 있고 다른 테이블에서 행을 복사해야합니다. 그렇게하는 가장 좋은 방법은 무엇입니까? (나는 대량 복사 유틸리티를 사용할 필요가 없습니다, 프로그램 몇 행을 복사해야합니다).

해결법

  1. ==============================

    1.어떤 ID 열이없는만큼 당신이 할 수있는 단지

    어떤 ID 열이없는만큼 당신이 할 수있는 단지

    INSERT INTO TableNew
    SELECT * FROM TableOld
    WHERE [Conditions]
    
  2. ==============================

    2.대체 문법 :

    대체 문법 :

    INSERT tbl (Col1, Col2, ..., ColN)
      SELECT Col1, Col2, ..., ColN
      FROM Tbl2
      WHERE ...
    

    (물론)를 선택 쿼리 캔 등 표현, case 문, 상수 / 리터럴을 포함

  3. ==============================

    3.자렛의 대답은 새 테이블을 작성합니다.

    자렛의 대답은 새 테이블을 작성합니다.

    스콧의 대답은 동일한 구조를 가진 기존의 테이블에 삽입합니다.

    또한 서로 다른 구조의 테이블에 삽입 할 수 있습니다 :

    INSERT Table2
    (columnX, columnY)
    SELECT column1, column2 FROM Table1
    WHERE [Conditions]
    
  4. ==============================

    4.

    INSERT INTO DestTable
    SELECT * FROM SourceTable
    WHERE ... 
    

    SQL 서버에서 작동

  5. ==============================

    5.

    SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >
    
  6. from https://stackoverflow.com/questions/57168/how-to-copy-a-row-from-one-sql-server-table-to-another by cc-by-sa and MIT license