Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 查询以查找Sql Server中存储过程或函数中的参数数?_Sql Server 2008_Tsql_Stored Procedures - Fatal编程技术网

Sql server 2008 查询以查找Sql Server中存储过程或函数中的参数数?

Sql server 2008 查询以查找Sql Server中存储过程或函数中的参数数?,sql-server-2008,tsql,stored-procedures,Sql Server 2008,Tsql,Stored Procedures,好的,如果我想在SQL SERVER中查找任何存储过程或函数的参数计数,那么正确的方法是什么 谢谢你的帮助。 谢谢。尝试以下查询以获取存储过程的所有参数列表。如果只需要参数的数量,请将select更改为COUNT(*) SELECT p.name AS Parameter, t.name AS [Type] FROM sys.procedures sp JOIN sys.parameters p ON sp.object_id = p.object_i

好的,如果我想在SQL SERVER中查找任何存储过程或函数的参数计数,那么正确的方法是什么

谢谢你的帮助。
谢谢。

尝试以下查询以获取存储过程的所有参数列表。如果只需要参数的数量,请将select更改为COUNT(*)

SELECT 
    p.name AS Parameter,        
    t.name AS [Type]
FROM sys.procedures sp
JOIN sys.parameters p 
    ON sp.object_id = p.object_id
JOIN sys.types t
    ON p.system_type_id = t.system_type_id
WHERE sp.name = '<name>'
选择
p、 名称作为参数,
t、 名称为[类型]
来自sys.sp
连接系统参数
在sp.object\u id=p.object\u id上
连接sys.t类型
在p.system\u type\u id=t.system\u type\u id上
其中sp.name=“”

信息\u架构。参数应该是您所需要的全部

SELECT  *
FROM    INFORMATION_SCHEMA.PARAMETERS

虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!
SELECT  *
FROM    INFORMATION_SCHEMA.PARAMETERS where SPECIFIC_NAME = 'YourProcedureName'