如何使用T-SQL,变量值和查询结果写入文本文件,我想实际上要继续追加。SQL Server-如何将变量和查询结果写入文本文件?
回答
您可以使用SQL CLR将任何想要写入的文件写入文件。你可以自己编写代码,或者你可以使用SQL#库(我是作者,它不是免费的 - 对于这个功能 - 但并不昂贵),并使用File_WriteFile函数写出文本。它允许附加数据。该库对于大多数功能是免费的,但不适用于文件系统功能。它可以在这里找到:http://www.SQLsharp.com/
如果你想尝试这种编码自己,我发现这个例子是基本的概念,我认为你所要求的:http://www.mssqltips.com/tip.asp?tip=1662
这工作,但它是一个有点神秘。调整到您的查询。基本上你会创建命令行回显行,通过xp_cmdshell执行并循环执行。
declare @cmd varchar(500), @minid int, @maxid int;
declare @output table(
id int identity(1,1) primary key,
echo varchar(500) not null
)
set @cmd = 'select top 10 ''ECHO ''+name+'' >> C:\test.txt'' from master.dbo.sysobjects'
insert into @output(echo)
exec(@cmd)
select @minid=Min(ID),@maxid=Max(ID) from @output
while @minid <= @maxid
begin
select @cmd = echo from @output where id = @minid;
exec xp_cmdshell @cmd;
set @[email protected]+1;
end
启用和使用xp_cmdshell会将您的实例暴露给额外的安全风险。使用CLR更安全,但也不建议用于此目的。这两个选项只会让糟糕的设计决策变得更糟。
你为什么试图从T-SQL写入文件?抵制将SQL Server转变为脚本平台的冲动。使用像SSIS,PowerShell或C#这样的应用程序语言与SQL Server进行交互,并根据需要将输出写入日志文件。
我正在使用循环函数更新SQL中的记录以获取最高数字ID并在将其设置为我正在更新的记录的ID之前向其中添加1。这是从两个系统合并到一个系统的信息。当我这样做时,我想知道ID之前是什么,然后是什么,所以如果发生任何事情,我可以退出它或撤消更新。这不是应该在SQL中完成的事情吗? – rud3y 2017-04-20 13:24:13
我在这个问题上有问题,所以我想提议我做了什么。 我声明了选择结果的光标,然后我将它们写入文件。例如:
DECLARE @cmd NVARCHAR(400)
DECLARE @var AS NVARCHAR(50)
,@Count = (SELECT COUNT(*) FROM Students)
DECLARE Select_Cursor CURSOR FOR
SELECT name FROM Students OPEN Select_Cursor
FETCH NEXT FROM Select_Cursor INTO @var
WHILE (@Count>0)
SET @cmd = 'echo ' + @var +' >> c:\output.txt'
EXEC master..xp_cmdshell @cmd
SET @Count = @Count - 1
FETCH NEXT FROM Select_Cursor INTO @var
END
CLOSE SelectCursor
DEALLOCATE SelectCursor
- 1. 将SQL查询结果写入文本文件
- 2. 将查询结果写入文件
- 3. 如何将MySQL查询的结果写入循环内的文本文件?
- 4. 将MS SQL查询结果写入Excel文件
- 5. 将sql查询的结果写入mysql中的文件
- 6. 将结果写入文本文件
- 7. 将LINQ结果写入文本文件
- 8. MongoDb:如何将mongoDb查询结果写入文件?
- 9. 如何将查询结果从一个变量写入表
- 10. Python - 将变量写入文本文件
- 11. SQL查询结果到文件脚本
- 12. 如何cancat查询结果到文本变量?
- 13. 将PHP查询结果导入变量
- 14. 如何将查询的结果写在SQL Server
- 15. C#将sql查询写入文件?
- 16. 将SQL Server查询结果保存到文件
- 17. SQL Server 2005将变量设置为选择查询的结果
- 18. 如何将变量写入XML文件?
- 19. 如何将变量写入文件?
- 20. Oracle 10g - 将查询结果写入文件
- 21. MySqlContext如何将查询写入变量
- 22. 将变量写入文件
- 23. 排序方法和将结果写入文本文件
- 24. 如何将变量的值写入dos文本文件?
- 25. 如何使用ajax将变量写入文本文件?
- 26. 如何在Jmeter中将变量写入文本文件中
- 27. 如何使用AJAX/PHP将jQuery变量写入文本文件?
- 28. 如何将两个变量写入一个文本文件?
- 29. 发送大量查询结果SQL Server
- 30. 需要将批处理文件结果写入文本文件
我不建议使用数据的基础上写入一个文本文件。改写一张表。 – Hogan 2011-04-11 19:28:57