找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 3917|回复: 1

[数据库知识] sql修改和删除存储过程

[复制链接]
发表于 2009-2-15 20:23:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
1、修改存储过程
存储过程应该经常被修改,以反映用户的要求或在底层表中定义的变化。
为了修改现有的存储过程并保留许可分配,使用ALTER PROCEDURE语句。在
使用ALTER PROCEDURE语句修改存储过程时,SQL Server覆盖存储过程的前一定
义。
强烈建议不要直接修改系统存储过程。相反,通过从现有的存储过程中拷贝
语句来创建用户定义的系统存储过程,然后修改它以满足要求。
在使用ALTER PROCEDURE语句时,考虑以下因素:
如果想要修改具有任何选项的存储过程,例如WITH ENCRYPTION选项,
必须在ALTER PROCEDURE语句中包括该选项以保留该选项提供的功
能。
ALTERP ROCEDURE只修改一个单一的过程。如果过程调用了其他存储
过程,嵌套的存储过程不受影响。
默认状态下,允许该语句的执行者是存储过程最初的创建者、
sysadmin服务器成员和db_owner和db_ddladmin混合数据库成员。
用户不能授权执行ALTER PROCEDURE语句。
语法
ALTERP ROC[EDURE]procedure_name[;number]
[{@parameterdata_type}
[VARYING][=default][OUTPUT]
][,…n)
[WITH
{RECOMPILE┃ENCRYFTION
┃RECOMPILE,ENCRYTIION
}
]第八章实现存储过程147
[FOR REPILCATION]
AS
sql_statement[…n)
下面的例子通过“只选择特殊的列名,而非Orders表中的所有列和分类结
果集”的方式来修改OverdueOrders存储过程。
USE Northwind
GO
ALTER PROC dbo.OverdueOrders
AS
SELECT CONVERT(char(8),RequireDate,1)RequireDate,
CONVERT(char(8),OrderDate,1)OrderDate,
OrderlD,CustomerlD,EmployeeID
FROM Orders
WHERE RequireDate<GETDATE()AND ShippedDate IS Null
ORDER BY RequiredDate
GO
以下语句执行OverdueOrders存储过程。
EXEC OveldueOrders
如果OverdueOrders存储过程根据今天的日期执行,结果将如下所示:
RequiredDate OrderDate OrderlD CustomerlD EmployeelD
05/06/98 04/08/98 11008 ERNSH 7
05/11/98 04/13/98 11019 RANCH 6
05/19/98 04121/98 11039 LINOD 1
05/21/98 04/2098 11040 GREAL 4
05/25/98 04/23/98 11045 BOTTM 6
(21 row(s)affected)
2、删除存储过程
使用DROP PROCEDURE语句来从当前数据库删除用户定义的存储过程。
在删除存储过程前,执行sp_depends存储过程来确定对象是否依赖于存储
过程。
语法
DROP PROCEDURE{procedure}[,…n]
例48 MCSE 2000系列—SQL 2000编程
本例删除OverdueOrders存储过程。
USE Northwind
GO
DROP PROC dbo.OverdueOrders
GO
8.3在存储过程中使用参数
参数可以扩展存储过程的功能。通过使用参数可以向存储过程输入和输出信
息。参数可以多次使用同一存储过程查找数据库。
例如,可以向一个存储过程添加参数,该存储过程在Employees表中查找雇
佣日期与指定日期很匹配的雇员。可以在同一存储过程中指定不同的雇佣日期来
执行查找。
SQL Server支持两种类型的参数:输入参数和输出参数。
发表于 2010-6-12 16:33:21 | 显示全部楼层
好东西,谢谢
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-26 06:46 , Processed in 0.043944 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表