Динамическое создание файлов с помощью BCP Utility - PullRequest
0 голосов
/ 25 октября 2019

Я использую утилиту BCP для копирования записей из таблицы перед удалением записей. Функция работает очень хорошо, однако мне нужно копировать записи в новый файл каждый раз, когда я удаляю, вместо того, чтобы перезаписывать один и тот же файл (как сейчас). Это может быть создание нового файла с меткой времени в качестве префикса или что-то подобное. Есть идеи? Мой код

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

1 Ответ

1 голос
/ 25 октября 2019

просто измените имя файла в команде 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  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...