我有这样的代码运行没有错误,我得到了结果。

DECLARE @fileName VARCHAR(50)
DECLARE @sqlStr VARCHAR(1000)
DECLARE @sqlCmd VARCHAR(1000)
SET @fileName = 'C:\SQL_Queries\test.xml'
SET @sqlStr = 'select * from ##tmpEmployeeJob FOR XML PATH(''EmployeeJob''), ROOT(''Pos.EmployeeJob'')'
SET @sqlCmd = 'bcp "' + @sqlStr + '" queryout ' + @fileName + ' -w -T'
EXEC xp_cmdshell @sqlCmd

但是当我想在sqlstr中像这样进行多个选择时
SET @sqlStr = 'select(select * from ##tmpEmployeeJob FOR XML PATH(''EmployeeJob''), ROOT(''Pos.EmployeeJob''),
select * from ##tmpCity FOR XML PATH(''City''), ROOT(''Pos.City''))'

我搞错了
“employeejob”附近的语法不正确
我怎样才能像上面那样进行多重选择?

最佳答案

导出XML时,可以轻松地从两个或多个查询组合XML字符串。或者可以导出包含更多行的表(其中行可以是XML数据类型)。

关于sql-server - 使用BCP时如何选择in @ SqlStr,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39476511/

10-08 22:42