如何在SQL Server 2008中使用动态查询传递表值参数

时间:2011-02-03 12:50:42

标签: tsql dynamic-sql

我使用接受TVP的动态SQL查询调用一个函数。有没有办法在动态sql中传递表值参数。我能做到的一件事就是传递逗号分隔的字符串,然后将这个逗号分隔的字符串转换为table。但问题是我必须为我的表中的每个项目转换字符串 - 表(所有行都调用该函数),如果我可以在动态sql中传递表,则可以避免这种情况。

由于 Ashwani

1 个答案:

答案 0 :(得分:1)

当然可以。 inputTable是您的TVP类型,@test是变量:

exec sp_executesql
 N'select
    t.*
   from @test as t
   where t.ID = 2'
,N'@test inputTable readonly' -- note the readonly
,@test