如何将 mySQL #temp table 导出到脚本中的 .csv 文件?
How can I export a mySQL #temp table to a .csv file within script?
我想编写一个脚本,允许我从我创建的 15-20 个临时 table 中导出 .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 ","
我已经试过了,它可以工作(格式不正确)但它似乎对临时工作根本不起作用 table; .csv
文件包含这个。
Msg 208 Level 16 State 1 Server SERVERNAME
Invalid object name '#TEMPTABLE'.
我无法获得 "elevated privileges" 来使用 BCP 导出,因为我无法编写存储过程、创建新数据库或访问命令行。有解决办法吗?
临时表是短暂的;他们不会跨会话持续存在。不要创建临时表,而是在您正在使用的数据库中或 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 ","
我想编写一个脚本,允许我从我创建的 15-20 个临时 table 中导出 .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 ","
我已经试过了,它可以工作(格式不正确)但它似乎对临时工作根本不起作用 table; .csv
文件包含这个。
Msg 208 Level 16 State 1 Server SERVERNAME
Invalid object name '#TEMPTABLE'.
我无法获得 "elevated privileges" 来使用 BCP 导出,因为我无法编写存储过程、创建新数据库或访问命令行。有解决办法吗?
临时表是短暂的;他们不会跨会话持续存在。不要创建临时表,而是在您正在使用的数据库中或 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 ","