【超实用】SQL Server两个常用的系统存储过程

2017-10-21 14:15:33来源:http://stor.51cto.com/art/201710/554118.htm作者:51CTO人点击

分享

在平时的使用中,但需要看表结构以及存储过程的定义语句时,你是不是这样做的?


看表结构
看存储过程内容

那么……


你一定需要下面的这种方法。


首先需要了解数据库中的一种对象:存储过程(Stored Procedure),简称SP。


微软SQL Server帮助文档中,关于存储过程的定义如下:


SQL Server 中的存储过程是由一个或多个 Transact-SQL 语句或对 Microsoft .NET Framework 公共语言运行时 (CLR) 方法的引用构成的一个组。


过程与其他编程语言中的构造相似,这是因为它们都可以:






接受输入参数并以输出参数的格式向调用程序返回多个值。
包含用于在数据库中执行操作的编程语句(这包括调用其他过程)。
向调用程序返回状态值,以指明成功或失败(以及失败的原因)。

简单来说,存储过程就是一组执行一定逻辑的SQL语句,执行存储过程就是执行这组语句。


存储过程有四种:
系统
用户定义
临时
扩展的用户定义过程

下面,我们来看看怎么通过系统存储过程来实现上面的操作。


1.SP_HELP

功能:报告有关数据库对象(sys.sysobjects 兼容视图中列出的所有对象)、用户定义数据类型或某种数据类型的信息。


使用示例:(其中E_01为数据库中的表)



通过这个系统SP,我们可以很清楚的看到这个对象(E_01)的信息,比如所有者,对象类型,创建时间,列信息(各个列数据类型,长度,精度,排序规则等),是否有自增列,主键以及索引约束等信息。


2.SP_HELPTEXT

功能:显示用户定义规则的定义、默认值、未加密的 Transact-SQL 存储过程、用户定义 Transact-SQL 函数、触发器、计算列、CHECK 约束、视图或系统对象(如系统存储过程)。


使用示例:(其中SPC_01为数据库中的用户定义存储过程)



通过这个系统SP,我们可以查看对应存储过程(函数、触发器、计算列、约束、视图等系统对象)对应的定义语句。(注意,前提是未加密)


好了,是不是很简单?



最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台