管理存储过程

12.3.1 查看存储过程
存储过程被创建以后,它的名字存储在系统表sysobjects 中;它的源代码存放在系统表syscomments 中。可以通过MS SQL Server 提供的系统存储过程来查看关于用户创建的存储过程信息。
1 通过Enterprise Manager 管理工具同样可以查看存储过程的源代码
其操作如下:
(1) 启动Enterprise Manager, 登录到要使用的服务器。
(2) 选择要创建存储过程的数据库,在左窗格中单击Stored Procedure 文件夹,此时在右窗格中显示该数据库的所有存储过程。
(3) 在右窗格中,右击要查看源代码的存储过程,在弹出的菜单中选择Properties选项,此时便可看到存储过程的源代码。如图12-4 所示:

2 使用sp_helptext 存储过程查看存储过程的源代码
其语法格式如下:
sp_helptext 存储过程名称
例如要查看数据库pubs 是否是存储过程reptq1 的源代码,则执行sp_helptext reptq1。
注意:如果在创建存储过程时使用了WITH ENCRYPTION选项,那么无论是使用Enterprise Manager还是系统存储过程sp_helptext都无法查看到存储过程的源代码。

12.3.2 重新命名存储过程
修改存储过程的名字使用系统存储过程sp_rename。 其命令格式为:
sp_rename 原存储过程名, 新存储过程名
例12-4 :将存储过程reptq1 修改为newproc 其语句为:
sp_rename reptq1, newproc
另外,通过Enterprise Manager 也可修改存储过程的名字,其操作过程与WINDOWS 下修改文件名字的操作类似。即首先选中需修改名字的存储过程,然后右击鼠标,在弹出菜单中选取rename 选项,最后输入新存储过程的名字。

12.3.3 删除存储过程
删除存储过程使用drop 命令,drop 命令可将一个或多个存储过程或者存储过程组从
当前数据库中删除。其语法规则为:
DROP PROCEDURE {procedure}} [,…n]
例12-5: 如将存储过程reptq1 从数据库中删除,则执行:
drop procedure reptq1

12.3.4 执行存储过程
执行已创建的存储过程使用EXECUTE 命令,其语法如下:
[EXECUTE]
{[@return_statur=]
{procedure_name[;number] | @procedure_name_var}
[[@parameter=] {value | @variable [OUTPUT] | [DEFAULT] [,…n]
[WITH RECOMPILE]

各参数的含义如下:
@return_status
是可选的整型变量,用来存储存储过程向调用者返回的值。
@procedure_name_var
是一变量名用来代表存储过程的名字。
其它参数据和保留字的含义与CREATE PROCEDURE 中介绍的一样。
例12-6: 该存储过程被用来将两个字符串连接成一个字符串,并将结果返回。创建存储过程:


12.3.5 修改存储过程
修改以前用CREATE PROCEDURE 命令创建的存储过程,并且不改变权限的授予情况以及不影响任何其它的独立的存储过程或触发器常使用ALTER PROCEDURE 命令。其语法规则是:
ALTER PROC[EDURE] procedure_name [;number]
[ {@parameter data_type } [VARYING] [= default] [OUTPUT]] [,...n]
[WITH
{RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION}]
[FOR REPLICATION]
AS
sql_statement [...n]
其中各参数和保留字的具体含义请参看CREATE PROCEDURE 命令。
下面将举一个例子使读者对该命令有更为深刻的理解。



将该段代码输入到SQL Server Query Analyzer 窗口中运行后结果为:

注意:由于在ALERT PROCEDURE中使用了WITH ENCTYPTION保留字,所以在查看修改后的存储过程源代码时看到是一些代码。

时间: 2024-11-03 03:53:42

管理存储过程的相关文章

VSS管理存储过程

问题描述 环境:VS2005,SQL2005怎么在VS2005中找不到开启存储过程版本控制(VS2003有),在VS2005中怎么解决?请各位大大帮帮忙,急!!! 解决方案 解决方案二:是否安装了VS的VSS的管理?如下:1.运行VisualStudio.NET安装程序.2.在"服务器组件"下,选择"VS6存储过程版本控制".3.单击"立即更新"或"安装"以安装所需的组件.解决方案三:我的VS已经使用了VSS,我装的VS200

MS SQL基础教程:管理存储过程

12.3.1 查看存储过程 存储过程被创建以后,它的名字存储在系统表sysobjects 中:它的源代码存放在系统表syscomments 中.可以通过MS SQL Server 提供的系统存储过程来查看关于用户创建的存储过程信息. 1 通过Enterprise Manager 管理工具同样可以查看存储过程的源代码 其操作如下: (1) 启动Enterprise Manager, 登录到要使用的服务器. (2) 选择要创建存储过程的数据库,在左窗格中单击Stored Procedure 文件夹,

visual sourcesafe 6.0 管理存储过程的问题

问题描述 在visualstudio.net2003中用visualsourcesafe6.0对sqlserver2000的存储过程进行管理时,在签出存储过程时,在对象差差异提示框中中选择第三项使用源代码管理版本,会弹出一个错误提示框,提示撤销签出成功,编译失败.不知道这是什莫原因导致的,请高手指教.谢谢. 解决方案 解决方案二:visualsourcesafe6.0对存储过程管理好像不太好使,原来用过,后来觉得不好没有再用.解决方案三:谢谢您的回复.上边的问题,发现是因为在将存储过程添加到vi

用XML和SQL 2000来管理存储过程调用_XML/RSS

创建多个带有不同参数的存储过程(stored procedure)来完成同一个任务总是一个很大的负担.利用XML字符串向你的存储过程发送参数就能够简化这个任务:这也让COM组件的设计更简单.  实现这个目的的方法是将你的参数作为一个XML字符串来传递,并剖析XML来取回你所需要的数据,然后继续实现你所需要集成的功能.你不仅可以通过XML来获取一些参数,你还可以对XML所创建的DOM文档运行查询,以此来封装多个存储过程.我会提供一些例子,告诉你如果实现这个目的,并简要地描述每个例子. 在本例里,为

Sql Server 存储过程实例讲解

  一.遇到的问题 我们在之前学习的课程写了不少的批处理语句,这些批处理语句存在两个问题: 1.没法像函数那样传参数运行(自定义化) 2.没法像函数那样可以反复地调用(功能化模块化) 说到这里,我们可以猜到,数据库中应该可以建立函数形式的数据库对象来解决这样的问题.但是介绍这种数据库对象之前,我们再来看几个需要解决的问题: 我们已经学会把一条select语句封装在视图中,但是它只能用来查询,如果我们希望进行其它操作,比如增删改记录.建删库表等,是不能用视图来完成的. 另一方面,如果把一个带有更改

在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)_自学过程

导言: 数据库,比如Microsoft's SQL Server 2005使用Transact-Structured Query Language (T-SQL)来插入.修改.检索数据.绝大多数数据库系统都包含constructs来对一系列的SQL statements进行分组,这些statements可以作为单独的单元来执行.存储过程就是一个例子,另一个例子是用户自定义函数(UDFs), 我们将在第9步进行详细的探讨. SQL是设计来处理一系列数据的. SELECT,UPDATE,和DELET

ASP.NET开发电子商务网站学习经验

前些阵子照着<Pro ASP.NET 2.0 E-Commerce in C#2005>书编辑了一个商务系统网站,想总结一下学习到的所学的知识. 该网站具有一般商务网站的特征 这里先讲讲他的框架 数据访问层 用的的存储过程操作数据库的存储,有一个Shop.DataAccess类库专门(注意我这里将原文的命名空间改为shop了) 该类库使用了一个组件来封装对数据库的操作 为 Microsoft Data Access Application Block, 其实就是将SQLHelper.cs复制到

SQL Server指定查询时使用的锁

server 前言     性能,如何最大限度的提高数据库的性能是每个DBA都需要面临的问题,在小量数据时运行如飞,而在大量数据时却慢如蜗牛,这样的事情你有没有碰到过呢?如何更好的提高数据库的并发访问性能呢?是的,"锁",解决问题的关键所在.  预备知识 锁定模式,大部分内容摘抄自SQL Server 2000 联机丛书 如果你已经熟悉了SQL Server的锁的类型,可以略过这一章 Microsoft? SQL Server? 2000 具有多粒度锁定,允许一个事务锁定不同类型的资源

指定查询时使用的锁

前言     性能,如何最大限度的提高数据库的性能是每个DBA都需要面临的问题,在小量数据时运行如飞,而在大量数据时却慢如蜗牛,这样的事情你有没有碰到过呢?如何更好的提高数据库的并发访问性能呢?是的,"锁",解决问题的关键所在.  预备知识 锁定模式,大部分内容摘抄自SQL Server 2000 联机丛书 如果你已经熟悉了SQL Server的锁的类型,可以略过这一章 Microsoft? SQL Server? 2000 具有多粒度锁定,允许一个事务锁定不同类型的资源.为了使锁定的