有没有一种方法可以在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/