sql - 在 SQLCMD 模式下格式化输出?

标签 sql sql-server sql-server-2008 tsql sqlcmd

有没有一种方法可以在SQLCMD 模式 中指定输出文件格式,以便我可以使用BULK INSERT 读回它?我想做这样的事情:

:CONNECT SERVER1
:OUT 'E:\test'

SELECT TOP 100 ID, NAME
FROM DB1.dbo.TABLE1

GO

:CONNECT SERVER2
:OUT 'E:\test2'

CREATE TABLE #TEMP(ID INT, NAME VARCHAR(100))

BULK
INSERT #TEMP
FROM 'E:\test'
WITH
(
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n'
)
GO

SELECT *
FROM DB2.dbo.TABLE2
WHERE ID IN (SELECT ID FROM #TEMP)

-- Other queries for #TEMP

GO

最佳答案

下面是一个使用 sqlcmd 生成 CSV 文件的好例子:

http://www.siusic.com/wphchen/sqlcmd-example-to-output-in-csv-format-350.html

sqlcmd 
  -S “ServerName” -U “UID” -P “PWD” -d “DBName” 
  -i “c:\input.txt” 
  -o “c:\output.txt” 
  -s “,” 
  -h -1

You can use SQLCmd /? to display all applicable parameters. ... Parameter -h -1 instructs the utility not to output result set header. Parameter -s “,” instructs the utility to use comma as column separator.

关于sql - 在 SQLCMD 模式下格式化输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10561961/

相关文章:

mysql - 由于清晰度、可维护性而拆分表格?

mysql - SQL 多列索引

sql-server - 如何在sql server中的计算字段上设置外键约束?

sql - 检查 varbinary(max) 列是否为 null 真的很慢

vb.net - 在SQL Server 2008 R2数据库中存储图像

mysql - 在 SQL 查询中配对

mysql - PHP/MySQL - 单击链接更改查询

mysql - 选择查询连接两个表?

mysql - 错误 phpmyadmin pma__tracking 和其他人不存在

sql - 批量插入时 SCOPE_IDENTITY 的值