【发布时间】:2013-10-05 21:47:22
【问题描述】:
我正在使用 SQL Server 2008 R2。 我需要为下面的 T-SQL 的最后一部分使用一个参数。
在这部分中,sp_executesql 的参数值是指定的,但我想动态提供它。
EXECUTE sp_executesql @sql,N'@startIndex1 int,@maxRows1 int',
@startIndex1 = @startIndex,@maxRows1 = @maxRows--LAST PART
【问题讨论】:
-
您能否扩展一下并准确描述您正在尝试(或避免)做的事情?我想知道您将不得不在此处嵌套动态 SQL 多少次才能实现您想要做的事情,并且仍然必须在某处硬编码某些东西,这让我想知道: 为什么???
-
我在一个网页中有一个网格,它的每一列都有过滤器。如果没有指定过滤器,那么最后一部分不是问题,因为 startIndex 和 maxRows 的值总是被传递。但是如果供应商列上有一个过滤器,那么我需要动态添加一个“供应商”参数。当过滤多个列时,就会有多个参数。我可以在 C# 代码中使用内联 SQL 来做到这一点,但我认为存储过程会更好。我帖子中提到的 T-SQL 代码是存储过程的一部分。
标签: sql-server-2008-r2 sp-executesql