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

标签 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 导出的“提升权限”,因为我无法编写存储过程、创建新数据库或访问命令行。有解决办法吗?

最佳答案

临时表是短暂的;他们不会跨 session 持续存在。不要创建临时表,而是在您正在使用的数据库或 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 ","

关于mysql - 如何将 mySQL #temp 表导出到脚本中的 .csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42840897/

相关文章:

php - 规范化的 MySQL 数据透视/行到没有唯一名称的列

sql - Long Integer 可以存储字母吗?

php - 表的条件sql查询

php - 在mysql数据库中将文本保存为pre

MySQL应用程序在一般使用后运行缓慢

mysql - 大表查询非常慢

sql - 有 4 列作为主键好吗?

sql-server - 我在Docker中创建了mssql-server-linux容器,但是无法从容器外部进行连接

php - 如何格式化来自MYSQL的日期

mysql - 如何在不中断网站的情况下刷新 MySQL 表?