我正在寻找何时使用字符串分隔符进行动态查询的提示。在我的例子中,我正在为bcp实用程序创建一个动态查询。
使用基本查询我管理它以使其工作但随着查询变得更复杂,动态查询/ bcp不起作用。
例如,我有以下查询正常工作:
SELECT @bcp = 'bcp "select COUNT(''Id'') as NumberOfIds from [kat].[dbo].[DataId] union all select null" queryout "D:\Testing\Test.csv" -T -c -t;'
然而,当我添加更多行时,我不能再使它工作了。以下查询无效:
SELECT @bcp = 'bcp "SELECT
("select COUNT(''Id'') FROM [kat].[dbo].[DataId] )",
("select COUNT( ''Name'') FROM [kat].[dbo].[Person])",
("select COUNT(''Surname'') FROM [kat].[dbo].[FamilyName]")" queryout "D:\Testing\Test.csv" -T -c -t;'
非常感谢,
吉
答案 0 :(得分:1)
您的查询应该是一行的。多行查询不接受。
SELECT @bcp = 'bcp "SELECT ("select COUNT(''Id'') FROM [kat].[dbo].[DataId] )", ("select COUNT( ''Name'') FROM [kat].[dbo].[Person])", ("select COUNT(''Surname'') FROM [kat].[dbo].[FamilyName]")" queryout "D:\Testing\Test.csv" -T -c -t;'