使用 BCP Utility 动态创建文件
Dynamic file creation with BCP Utility
在删除记录之前,我正在使用 BCP 实用工具将记录从 table 中复制出来。
该功能工作正常,但是,我需要在每次删除时将记录复制到一个新文件,而不是覆盖同一个文件(就像现在一样)。
它可能正在创建一个以时间戳为前缀或类似内容的新文件。
有任何想法吗?
我的代码
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
在删除记录之前,我正在使用 BCP 实用工具将记录从 table 中复制出来。 该功能工作正常,但是,我需要在每次删除时将记录复制到一个新文件,而不是覆盖同一个文件(就像现在一样)。 它可能正在创建一个以时间戳为前缀或类似内容的新文件。 有任何想法吗? 我的代码
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