我正在使用BCP Utility将记录复制到表外,然后再删除记录。该功能运行良好,但是,每次删除时,我都需要将记录复制到一个新文件中,而不是覆盖同一文件(如现在)。可能正在创建一个以时间戳为前缀或类似名称的新文件。有任何想法吗?我的代码
Declare @cmd varchar(1000) = 'bcp "select * from ##DeletedRecords" queryout
"C:\Delete\DeletedRecord.txt" -t, -c -T'
print @cmd
EXEC master..XP_CMDSHELL @cmd
通过在文件名后面附加日期和时间,相应地更改BCP命令中的文件名
示例:
Declare @cmd varchar(1000);
select @cmd = 'bcp "select * from ##DeletedRecords" queryout '
+ '"C:\Delete\DeletedRecord'
+ convert(varchar(10), getdate(), 112) -- YYYYMMDD
+ replace(convert(varchar(10), getdate(), 108), ':', '') -- HHMMSS
+ '.txt" -t, -c -T'
print @cmd
EXEC master..XP_CMDSHELL @cmd