我在使用与Excel ODBC一起使用的tSQL动态查询方面遇到了困难。
通过ODBC Driver 11 for SQL Server连接到SQL Server 2016
我找到了这篇文章,但它只使用存储在参数中的表名,我需要实际的表在参数内:Simple dynamic TSQL query syntax
declare @t table(value1 int, value2 nvarchar(1024))
insert @t SELECT 1 as value1, 'test' as value2
declare @where nvarchar(max)
declare @query nvarchar(max)
declare @sql nvarchar(max)
set @where = ' WHERE value1 = 1'
set @query = 'Select * from @t'
set @sql = @query + @where
EXEC(@sql)
这将导致错误信息:必须声明表变量"@t"
不幸的是,我不能使用临时表,因为连接器不支持临时表。
我的原始查询要复杂得多,包含6个不同的参数,在查询的不同点进行注入,并且有2个包含临时结果的表参数。
提前感谢您的帮助。