LZY'Blog

记录LZY的生活、行程!

« 使用EXECUTE执行SQL存储过程使用ALTER PROCEDURE语句修改SQL存储过程 »

查看SQL存储过程的定义

1、使用sys.sql_modules查看存储过程的定义

  sys.sql_modules为系统视图,通过该视图可以查看数据库中的存储过程,查看存储过程的操作方法如下:

  在查询编辑器中执行如下代码:

select * from sys.sql_modules

2、使用OBJECT_DEFINITION查看存储过程的定义

  返回指定对象定义的Transact-SQL源文本,语法格式如下:

OBJECT_DEFINITION(object_id)

  参数说明:

  object_id:要使用的对象的ID。object_id的数据类型为int,并假定表示当前数据库上下文中的对象。

  【例1】使用OBJECT_DEFINITION查看ID为437576597存储过程的代码。

  SQL语句如下:

select OBJECT_DEFINITION(437576597)

3、使用sp_helptext查看存储过程的定义

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

sp_helptext [@objname=]'name'[,[@columnname=]computed_column_name]

  参数说明:

  [@objname=]'name':架构范围内的用户定义对象的限定名称和非限定名称。仅当指定限定对象时才需要引号。如果提供的是完全限定名称(包括数据库名称),则数据库名称必须是当前数据库的名称。对象必须在当前数据库中。name的数据类型为nvarchar(776),无默认值。

  [@columnname=]computed_column_name:要显示其定义信息的计算列的名称,必须将包含列的表指定为name。column_name的数据类型为sysname,无默认值。

  【例2】通过sp_helptext系统存储过程查看名为Proc_Stu存储过程的代码。

  SQL语句如下:

sp_helptext 'Proc_Stu'
  • quote 1.夏日博客
  • http://www.xiariboke.com
  • 只使用过 select,没使用过 sql_modules。。
    longziyong 于 2016/1/5 21:44:33 回复
    涉及到数据库都会用到SELECT吧........使用存储过程的优点还是蛮多的,可以在自己的项目中试用感觉一下效果
  • 2016/1/5 20:31:05 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 |

Copyright 2009-2012 LZY'Blog. | ICP:蜀ICP备05027543号