Ниже мой код, который печатает мой результат sql в текстовый файл.
Моя проблема: как создать новый текстовый файл для каждого выполнения, вместо добавления результата в тот же текстовый файл, который уже создан?
Я пытаюсь добавить >>, но он добавляет результат только в том же тексте.
нужна помощь, пожалуйста, это не повторяющийся вопрос, потому что старый вопрос показывает, как записать результат в тот же текстовый файл, но для моей проблемы мне нужно создать новый, и я не хочу перезаписывать старый текстовый файл.
Declare @fn varchar(8000) = 'C:\Tmp\log\out.txt';
Declare @cmd varchar(8000);
DECLARE @viewObjectIds TABLE (object_id INT);
INSERT INTO @viewObjectIds
SELECT o.object_id
FROM sys.objects AS o
WHERE o.type = 'V';
DECLARE view_cursor CURSOR FAST_FORWARD FOR
SELECT object_id FROM @viewObjectIds;
OPEN view_cursor;
FETCH NEXT FROM view_cursor INTO @object_id;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @command =
'EXECUTE sp_refreshview '''
+ QUOTENAME(OBJECT_SCHEMA_NAME(@object_id)) + '.' + QUOTENAME(OBJECT_NAME(@object_id))
+ ''';';
PRINT @command;
SELECT @cmd = 'echo '+ @command + ' >> '+ @fn + '' ;
exec xp_cmdshell @cmd
FETCH NEXT FROM view_cursor INTO @object_id;
END