【问题标题】:Dynamic file creation with BCP Utility使用 BCP 实用程序创建动态文件
【发布时间】:2020-02-21 09:10:06
【问题描述】:

在删除记录之前,我正在使用 BCP 实用程序从表中复制记录。 该功能工作得很好,但是,每次删除时我都需要将记录复制到一个新文件中,而不是覆盖同一个文件(就像现在一样)。 它可能正在创建一个以时间戳为前缀的新文件或类似的东西。 有任何想法吗? 我的代码

Declare @cmd varchar(1000) = 'bcp "select * from ##DeletedRecords" queryout 
"C:\Delete\DeletedRecord.txt" -t, -c -T'
print @cmd
EXEC master..XP_CMDSHELL @cmd  

【问题讨论】:

  • 只需在BCP 命令中相应地更改文件名,方法是在文件名中附加日期和时间

标签: sql-server stored-procedures bcp flat-file


【解决方案1】:

只需将日期和时间附加到文件名中,相应地更改 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  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    相关资源
    最近更新 更多