gpt4 book ai didi

sql - 在sql中复制数据时添加列

转载 作者:行者123 更新时间:2023-12-05 00:42:20 25 4
gpt4 key购买 nike

我正在使用 SqlBulkCopy 将一些记录从一个表批量插入到另一个表中。查询使用 SqlDataReader 来获取数据。表之间重要的一个区别(除了在映射中处理的列顺序)是目标表有一个日期列,需要将当前日期添加到其中。此日期不在源表中。如何将它添加到当前运行良好的进程中减去这个?

当前的工作代码如下所示:

SqlCommand cmd = new SqlCommand("SELECT * from dbo.source", cn);
SqlDataReader rdr = cmd.ExecuteReader();

using (SqlBulkCopy copy = new SqlBulkCopy(cn))
{
copy.ColumnMappings.Add(0, 0);
copy.ColumnMappings.Add(1, 2);
copy.ColumnMappings.Add(3, 3);
copy.ColumnMappings.Add(2, 4);
copy.ColumnMappings.Add(5, 5);
copy.ColumnMappings.Add(14, 6);
copy.DestinationTableName = "destination";
copy.WriteToServer(rdr);
}

数据库是 sql 2008 ENT。

最佳答案

您可以将它添加到您的 SELECT 返回:

SELECT *, GETDATE() AS CurrentDate from dbo.source

然后只需为它添加另一个 ColumnMapping 。

关于sql - 在sql中复制数据时添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2179648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com