SQL存储过程获取带有值的动态参数列表

时间:2016-03-29 15:51:44

标签: sql-server stored-procedures dynamic parameters

我有一个有趣的场景,我需要从存储过程中获取动态的参数值列表。我想要一个通用的t-sql脚本,它会将这些信息返回给我,而不必输入每个参数名称。

原因是在执行多个存储过程之前,我必须首先将参数值列表传递给另一个存储过程调用。我不想要繁琐的维护任务,无论何时在SP中添加/更改参数,我都必须更改嵌套调用。

例如:

create procedure sp1 @a int = 1, @b int = 2
as begin

exec sp2 '1, 2'

....

end

添加另一个参数@c int,应自动添加到传递给sp2的字符串中。

我知道我可以使用sys.parametersobject_id = @@procid检索参数名称。我可以使用for xml path连接它们。但是,我需要使用sp_executesql来检索值 - 这需要我指定每个参数名称。因此,我并没有比以前更好。

非常感谢任何提示或帮助。

谢谢。

0 个答案:

没有答案