使用批量插入将已删除的记录插入回SQL Server数据库

我已经创建了一个作业,可以根据某些条件删除数据库中的记录,这很好。实际上,作业会在删除记录之前将记录复制到文件中。这意味着我始终拥有已删除数据的副本。

但是,如果需要将删除的数据恢复到数据库中,则为

。我需要将记录重新插入删除它们的位置。意味着插入不应该像我插入新记录那样工作。那可能吗?如果是的话,该怎么做?

这是从数据库中删除记录的SQL代码:

delete from table_1 
where Table_1ID IN (select distinct Table_2ID
                    from Table_2 T2
                    left join
                        (select *
                         from Table3) x on T2.Table_2ID = x.Table_2ID 
                    where ((x.Table3ID is null and T2.DateTime < '2018-12-12') 
                           or x.ExpireDate < '2018-12-12')) 

Declare @cmd varchar(1000);

select @cmd = 'bcp "select * from ##DeletedTable_1" queryout '
        + '"D:\Test\Deleted' 
        + convert(varchar(10),getdate(),112)    -- YYYYMMDD
        + replace(convert(varchar(10),108),':','') -- HHMMSS
        + '.txt" -t,-c -T'


print @cmd

当数据导入到txt文件中时。看起来像这样

144132,3,422,113,64,69,System,2009-09-22 14:20:05.940,2009-09-22 00:00:00.000,2009-09-23 13:49:50.920,-Louise,000000001C5677E2

,因此在字符串周围没有引号。我不知道这是否会成为问题?

我尝试执行以下操作,但没有用。

BULK INSERT mydb.table_1
FROM 'D:\Test\Deleted'

任何建议都值得赞赏

wuqi330860505 回答:使用批量插入将已删除的记录插入回SQL Server数据库

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3151030.html

大家都在问