如何将mySQL #temp表导出到脚本中的.csv文件?

时间:2017-03-16 17:25:25

标签: mysql sql sql-server csv sqlcmd

我想编写一个脚本,允许我从我创建的15-20个临时表中导出.csv文件,使用脚本而不必复制并粘贴到单独的.csv文件中,然后保存他们失望了。

:!!sqlcmd -S server -d database-E -Q "SET NOCOUNT ON 
SELECT * FROM TABLE" -o "C:\Users\name\Documents\folder\filename.csv"
-W -w 1024 -s ","

我试过这个,它可以工作(没有正确格式化),但它似乎根本不适用于临时表; .csv文件包含此内容。

Msg 208  Level 16    State 1     Server SERVERNAME
Invalid object name '#TEMPTABLE'.       

我无法获得“提升权限”以便能够使用BCP导出,因为我无法编写存储过程,创建新数据库或访问命令行。有解决方法吗?

1 个答案:

答案 0 :(得分:0)

临时表是短暂的;他们不会在会议期间坚持下去。不是创建临时表,而是在您正在使用的数据库中或tempdb中创建实际表,然后从tempdb

导出数据

一个例子:

sqlcmd -S server -d database -E -Q "If Exists (select * FROM tempdb.sys.tables WHERE name = 'Tmp_DataExport1') drop TABLE tempdb..Tmp_DataExport1;"

sqlcmd -S server -d database -E -Q "SELECT TOP 5 * INTO tempdb..Tmp_DataExport1 FROM T_SourceTable"

sqlcmd -S server -d database -E -Q "SELECT * FROM tempdb..Tmp_DataExport1" -o "c:\temp\filename.csv" -W -w 1024 -s ","