检索 SQL 存储过程和函数的输入和输出参数?
Posted
技术标签:
【中文标题】检索 SQL 存储过程和函数的输入和输出参数?【英文标题】:Retrieve input and output parameters for SQL stored procs and functions? 【发布时间】:2010-04-22 21:18:32 【问题描述】:对于给定的 SQL 存储过程或函数,我试图在我创建的 Winforms 应用程序中获取其输入和输出参数,以浏览对象并显示它们的参数和其他属性。
到目前为止,我发现了 SQL 系统函数 object_definition,它接受给定的 sysobjects.id 并返回该对象的文本;还通过搜索 this post 发现,它描述了使用 ADO.NET 方法 DeriveParameters 结合一些缓存在应用程序上下文中提取参数以获得更好的性能;并且从Hidden Features of SQL Server 上的早期帖子中找到了一些有用的系统存储过程。
我倾向于在我的 C# 应用程序中实现 DeriveParameters 方法,因为解析 object_definition 的输出看起来很乱,而且我还没有找到隐藏的功能到目前为止,该帖子可以解决问题。
DeriveParameters 是否适用于函数和存储过程以检索其参数,如果是,有人可以提供一个示例吗?
【问题讨论】:
【参考方案1】:请试试这个:
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 方法的响应,我会奖励你答案。以上是关于检索 SQL 存储过程和函数的输入和输出参数?的主要内容,如果未能解决你的问题,请参考以下文章