我使用的是SQL Server 2012中正在执行其在存储过程值一起,是否有任何可能的方式来获得存储过程的所有参数与传递给它的值一起?如何获得所有参数名与
我需要这些东西来构建一个XML。我的意思是这应该发生在正在执行的程序中,并且在所有程序中都应该是通用的。
例如,让我们假设我们有程序,
uspSave, @name='test' @age=20
uspDelete @id=2
在uspSave
过程中,我需要得到@name, @age
和值 '测试',20 和uspDelete
,我应该得到@id
用值2
为了得到列名,我想这一点,
select parameter_name
from information_schema.PARAMETERS
where specific_name = OBJECT_NAME(@@procid)
现在可以遍历上述查询的结果,我们可以得到的值。
你能澄清一下“为什么” - 你的最终目标是什么? – AdaTheDev 2012-07-10 08:42:54
我的目标是用这些参数的值创建一个xml,当发生错误时,我必须将这个xml保存在错误表中 – Harsha 2012-07-10 08:47:45
T-SQL不是富含类似反射设施的语言。按照您的要求编写可重复使用的代码几乎是不可能的。 – 2012-07-10 08:54:18