如何解决将 Employee 表中的所有数据从数据库复制到 A 到数据库 B 上的 Employee 表
我想把Employee
表中的所有(*)数据从数据库复制到A到数据库B中的Employee
表。两个employee表的结构是一样的。
我在 Employee
表中有 50 多列值,我想将所有数据从 A 复制到 B。
PS:我的数据库 A 和 B 在同一台服务器上。我不知道这是否重要。
解决方法
您可以在不定义列的情况下设置 INSERT 指令,因此将插入所有列。您只需要将该 INSERT 与来自源的 SELECT * 结合起来:
INSERT INTO B.dbo.EMPLOYEE
SELECT * FROM A.dbo.EMPLOYEE
这仅在两个表具有完全相同的结构并且您想要复制所有这些列时才有效。
,确保两个数据库中每列的数据类型相同,然后您可以简单地使用插入选项。
INSERT INTO B.database.EMPLOYEE
SELECT * FROM A.database.EMPLOYEE
如果任何列的数据类型不同,请使用 cast
更改它。
您没有指明目标表是否为空或已包含您要添加的数据。
但是,如果它是空的并且您只是将整个表从数据库 A 复制到数据库 B,则不需要该表预先存在,
url(r'^contact/success/$',......),
如果表存在并包含数据,只要列相同且顺序相同,您只需说
use A
Go
select *
into B.dbo.DestinationTable
from SourceTable
,
在 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],[ModifiedDate]
from AdventureWorks2017.HumanResources.Employee
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。