仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2402|回复: 9
打印 上一主题 下一主题

[学习教程] MSSQL编程:SQL Server联机丛书:删除存储历程

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:40:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有了数据以后,我们就要想一个比较统一的方法来闪回。上面我们说了对于DML操作,可以通过反向执行所有逆操作来实现,对于语句里面的DDL,只能直接跳过。原因是一个DDL不一定有直接的逆操作。server|存储历程删除存储历程不再必要存储历程时可将其删除。假如另外一个存储历程挪用某个已删除的存储历程,则Microsoft®SQLServer™2000会在实行该挪用历程时显现一条毛病信息。但假如界说了同名和参数不异的新存储历程来交换已删除存储历程,那末援用该历程的别的历程仍能顺遂实行。比方,假如存储历程proc1援用存储历程proc2,而proc2被删除,但由创立了另外一个名为proc2的存储历程,如今proc1将援用这一新存储历程,proc1也不用从头编译。
存储历程分组后,将没法删除组内的单个存储历程。删除一个存储历程会将统一组内的一切存储历程都删除。
DROPPROCEDURE
从以后数据库中删除一个或多个存储历程或历程组。
语法
DROPPROCEDURE{procedure}[,...n]
参数
procedure

是要删除的存储历程或存储历程组的称号。历程称号必需切合标识符划定规矩。有关更多信息,请拜见利用标识符。能够选择是不是指定历程一切者称号,但不克不及指定服务器称号和数据库称号。

n

是暗示能够指定多个历程的占位符。
正文
若要检察历程称号列表,请利用sp_help。若要显现历程界说(存储在syscomments体系表内),请利用sp_helptext。撤除某个存储历程时,将从sysobjects和syscomments体系表中删除有关该历程的信息。

不克不及撤除组内的一般历程,必需撤除全部历程组。

不管用户界说的体系历程(以sp_为前缀)是不是为以后数据库,都将其从master数据库中撤除。假如在以后的数据库未找到体系历程,则Microsoft®SQLServer™实验将其从master数据库撤除。
权限
默许情形下,将DROPPROCEDURE权限授与历程一切者,该权限不成让渡。但是,db_owner和db_ddladmin流动数据库脚色成员和sysadmin流动服务器脚色成员能够经由过程在DROPPROCEDURE内指定一切者撤除任何工具。
示例
下例删除byroyalty存储历程(在以后数据库内)。

DROPPROCEDUREbyroyaltyGO转自:http://goaler.xicp.net/ShowLog.asp?ID=518
提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
爱飞 该用户已被删除
沙发
发表于 2015-1-17 15:55:26 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-20 19:53:41 | 只看该作者
无法深入到数据库系统层面去了解和探究
再见西城 该用户已被删除
地板
发表于 2015-1-29 19:23:16 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
小女巫 该用户已被删除
5#
发表于 2015-2-6 03:29:34 | 只看该作者
索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-15 10:00:30 | 只看该作者
无法深入到数据库系统层面去了解和探究
只想知道 该用户已被删除
7#
发表于 2015-3-4 11:25:14 | 只看该作者
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-11 18:58:25 | 只看该作者
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-19 08:39:35 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
老尸 该用户已被删除
10#
发表于 2015-3-27 16:08:29 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 08:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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