代码之家  ›  专栏  ›  技术社区  ›  rp.

如何将一行从一个SQL Server表复制到另一个SQL Server表

  •  74
  • rp.  · 技术社区  · 17 年前

    我有两个相同的表,需要将行从一个表复制到另一个表。最好的方法是什么?(我只需要以编程方式复制几行,不需要使用批量复制实用程序)。

    5 回复  |  直到 10 年前
        1
  •  127
  •   Community Mohan Dere    6 年前

    只要没有标识列,您就可以

    INSERT INTO TableNew
    SELECT * FROM TableOld
    WHERE [Conditions]
    
        2
  •  79
  •   userx    14 年前

    替代语法:

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

    select查询(当然)可以包括表达式、case语句、常量/文本等。

        3
  •  40
  •   Earlz    15 年前

    Jarrett的回答创建了一个新表。

    Scott的答案插入到具有相同结构的现有表中。

    INSERT Table2
    (columnX, columnY)
    SELECT column1, column2 FROM Table1
    WHERE [Conditions]
    
        4
  •  6
  •   HaveNoDisplayName    11 年前
    INSERT INTO DestTable
    SELECT * FROM SourceTable
    WHERE ... 
    

    在SQL Server中工作

        5
  •  5
  •   Earlz    15 年前
    SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >
    
        6
  •  0
  •   Shravya Mutyapu    4 年前

    仅选择几行..这将非常有效。。

    SELECT TOP 10 *
    INTO db2.dbo.new_table
    FROM db1.dbo.old_table;
    

    注意:只需在所需的数据库中创建一个新表。我们不需要定义它的结构。