如何管理多个表,函数,存储过程和视图(SQL Server)

时间:2017-06-06 12:31:39

标签: sql-server tsql sql-server-2012-express sql-server-2012-datatools

我的数据库中有多个对象,我想列​​出它们给出一些描述,接受的参数及其类型。我所知道的最快的方法是生成一个数据库脚本并将其称为一天,但有一种更简单的方法可以存档吗?我将Microsoft SSMS 2017与SQL Server 2012结合使用。

1 个答案:

答案 0 :(得分:1)

您可以查询表格INFORMATION_SCHEMA.PARAMETERS(或sys.parameters)。

这是一个简单的查询,它提取您请求的一些数据;您可以将此作为起点并详细说明,以获得所需的输出:

select P.SPECIFIC_SCHEMA,
   P.SPECIFIC_NAME, 
   R.ROUTINE_TYPE,
   P.PARAMETER_MODE,
   P.PARAMETER_NAME, 
   P.DATA_TYPE, 
   P.CHARACTER_MAXIMUM_LENGTH
from INFORMATION_SCHEMA.PARAMETERS P
inner join INFORMATION_SCHEMA.ROUTINES R ON P.SPECIFIC_CATALOG = R.ROUTINE_CATALOG 
   AND P.SPECIFIC_SCHEMA = R.ROUTINE_SCHEMA 
   AND P.SPECIFIC_NAME = R.ROUTINE_NAME 
order by P.SPECIFIC_SCHEMA, P.SPECIFIC_NAME, P.PARAMETER_MODE, P.PARAMETER_NAME

以下是此查询在简单数据库上的输出:

enter image description here