SQL 服务器:动态查询和字符串分隔符
SQL Server : Dynamic Queries and String Separator
我正在寻找何时使用字符串分隔符进行动态查询的提示。在我的例子中,我正在为 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;'
非常感谢,
吉
您的查询应该在单行中。不接受多行查询。
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;'
我正在寻找何时使用字符串分隔符进行动态查询的提示。在我的例子中,我正在为 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;'
非常感谢,
吉
您的查询应该在单行中。不接受多行查询。
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;'