[英]Copy data between different tables using BCP (bulk insert)
我的程序将得到两个表,例如T1(A,B,C)和T2(B,C,D)(表位于不同的SQL服务器上)。 T2有一个额外的列(D)和缺少的一列(A)。
我需要尽可能快地将行从T1复制到T2(通过使用BCP实用程序进行 probalby)。 A列应省略,D列应具有一些默认值。 我的步骤:
我的Select语句应如何显示? 如何获取D列的默认值? 还有其他更简单的方法可以做到这一点吗?
由于您已标记C#,因此建议您使用SQLBulkCopy 。 这是CodeProject上的示例项目
您可以通过SQL-使用链接服务器来执行此操作。 您可以使用4点表示法来引用SQL中的表。 表示法是ServerName.DatabaseName.SchemaName.ObjectName
。 默认模式是dbo
,因此要引用表,语法为: ServerName.DatabaseName.dbo.TableName
。
您可以在Server1上运行以下内容:
INSERT INTO Server2.DBName.dbo.T2 (B, C, D)
SELECT A, B, 'Default Value' FROM Server1.DBName.dbo.T1
要将链接服务器从Server1设置为Server2,请运行以下命令:
USE master;
GO
EXEC sp_addlinkedserver
N'Server2',
N'SQL Server';
GO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.