T-SQL对参数的反思

Axa*_*dax 4 t-sql reflection

是否可以对T-SQL模块中的参数(函数,过程)使用某种反射?

procedure x(@foo nvarchar(max),@bar nvarchar(max)) ... 
set @foo = isnull(@foo,0); 
set @bar = isnull(@bar,0);
Run Code Online (Sandbox Code Playgroud)

是否有可能迭代我的参数并在循环中设置它们的值?或者我需要使用SQLCLR吗?

Dan*_*haw 5

如果您需要以编程方式枚举它们,那么您可能有太多参数!也许切换到替代数据结构(如表值参数或XML文档)可以让您更清晰地将这些复杂数据导入到您的过程/函数中?

但是,如果您对此有一些非常特殊的需求,请查看sys.parameters(假设您使用的是SQL Server 2005或更高版本).