【问题标题】:Copy all the data from Employee table from database to A to Employee table on Database B将 Employee 表中的所有数据从数据库复制到 A 到数据库 B 上的 Employee 表
【发布时间】:2021-06-05 04:54:31
【问题描述】:

我想将Employee表中的所有(*)数据从数据库复制到A到数据库B中的Employee表。两个员工表的结构相同。

Employee 表中有 50 多列值,我想将所有数据从 A 复制到 B。

请帮我做一个伪查询。

PS:我的数据库 A 和 B 在同一台服务器上。我不知道这是否重要。

【问题讨论】:

  • INSERT 语句你需要帮助吗?

标签: sql sql-server tsql sql-server-2008 sql-server-2012


【解决方案1】:

在 SSMS 中,如果您左键单击并拖动表格下的“列”文件夹到查询窗口,它将粘贴一个分隔的列名称列表。

这使得编写没有select * 的属性查询或没有列列表的INSERT 非常容易。例如

insert into OtherDatabase.HumanResources.Employee 
      ( [BusinessEntityID], [NationalIDNumber], [LoginID], [OrganizationNode], [OrganizationLevel], [JobTitle], [BirthDate], [MaritalStatus], [Gender], [HireDate], [SalariedFlag], [VacationHours], [SickLeaveHours], [CurrentFlag], [rowguid], [ModifiedDate] )
select  [BusinessEntityID], [NationalIDNumber], [LoginID], [OrganizationNode], [OrganizationLevel], [JobTitle], [BirthDate], [MaritalStatus], [Gender], [HireDate], [SalariedFlag], [VacationHours], [SickLeaveHours], [CurrentFlag], [rowguid], [ModifiedDate]
from AdventureWorks2017.HumanResources.Employee

【讨论】:

    【解决方案2】:

    您没有指明您的目标表是空的还是已经包含您要添加的数据。

    但是,如果它是 emtpy,并且您只是将整个表从数据库 A 复制到数据库 B,则不需要该表是预先存在的,

    use A
    Go
    
    select *
    into B.dbo.DestinationTable
    from SourceTable
    

    如果表存在并包含数据,只要列相同且顺序相同,您只需说

    insert into B.dbo.DestinationTable
    select * from SourceTable
    

    【讨论】:

      【解决方案3】:

      确保两个数据库中每列的数据类型相同,然后您可以简单地使用 insert into 选项。

      INSERT INTO B.database.EMPLOYEE 
          SELECT * FROM A.database.EMPLOYEE
      

      如果任何列的数据类型不同,请使用cast 进行更改。

      【讨论】:

        【解决方案4】:

        您可以在不定义列的情况下设置 INSERT 指令,因此将插入所有列。您只需将该 INSERT 与源中的 SELECT * 结合起来:

        INSERT INTO B.dbo.EMPLOYEE 
               SELECT * FROM A.dbo.EMPLOYEE
        

        这仅在两个表具有完全相同的结构并且您想要复制所有这些列时才有效。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多