检索SQL存储过程和函数的输入和输出参数?
问题描述:
对于给定的SQL存储过程或函数,我试图在我创建的用于浏览对象并显示其参数和其他属性的Winforms应用程序中获取其输入和输出参数。检索SQL存储过程和函数的输入和输出参数?
到目前为止,我已经发现了SQL系统功能OBJECT_DEFINITION,这需要一个给定的sysobjects.id并返回该对象的文本;也通过搜索this post发现,其中描述了使用ADO.NET方法在应用上下文中提取参数DeriveParameters与某些缓存结合使用以获得更好的性能;并在Hidden Features of SQL Server上发现了一些有用的系统存储过程。
我倾向于实施DeriveParameters方法在我的C#应用程序,因为解析的OBJECT_DEFINITION输出显得凌乱,而我还没有发现在该职位的隐藏功能,到目前为止,会做的伎俩。
是导出参数适用于函数和存储过程以便检索参数,如果有的话,有人可以提供一个例子吗?
答
请试试这个:
select
PARAMETER_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
PARAMETER_MODE,
NUMERIC_PRECISION,
NUMERIC_SCALE
from INFORMATION_SCHEMA.PARAMETERS
where specific_name = @chvProcName
order by ordinal_position
找PARAMETER_MODE它会得到这个信息OUT
的值从here
HTH
谢谢,这肯定是有帮助的;如果我在.NET中没有看到任何特定于DeriveParameters方法的响应,我会给你答案。 – 2010-04-23 18:35:28