仓酷云

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

[学习教程] MSSQL网站制作之sql server 2005中新增添的try catch学...

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

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

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

x
Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用serversqlserver2005中新增添的trycatch,能够很简单捕获非常了,明天也许进修看了下,归结下要点以下
基础用法BEGINTRY
{sql_statement|
statement_block}
ENDTRY
BEGINCATCH
{sql_statement|
statement_block}
ENDCATCH
,和一般言语的非常处置用法差未几,但要注重的是,SQLSERVER只捕获那些不是严峻的非常,当好比数据库不克不及毗连等这类非常时,是不克不及捕获的一个例子:BEGINTRY
DECLARE@XINT
--DividebyzerotogenerateError
SET@X=1/0
PRINTCommandaftererrorinTRYblock
ENDTRY
BEGINCATCH
PRINTErrorDetected
ENDCATCH
PRINTCommandafterTRY/CATCHblocks
别的trycatch能够嵌套BeginTRY
deletefromGrandParentwhereName=JohnSmith
printGrandParentdeletedsuccessfully
EndTry
BeginCatch
PrintErrorDeletingGrandParentRecord
BeginTry
deletefromParentwhereGrandParentID=
(selectdistinctIDfromGrandParentwhereName=JohnSmith)
PrintParentDeletedSuccessfully
EndTry
BeginCatch
printErrorDeletingParent
BeginTry
deletefromchildwhereParentId=
(selectdistinctIDfromParentwhereGrandParentID=
(selectdistinctIDfromGrandParentwhereName=JohnSmith))
printChildDeletedSuccessfully
EndTry
BeginCatch
PrintErrorDeletingChild
EndCatch
EndCatch
EndCatch
别的,SQLSERVER2005在非常机制中,供应了error类的办法便利调试,现摘抄以下,对照复杂,不予以注释ERROR_NUMBER():Returnsanumberassociatedwiththeerror.ERROR_SEVERITY():Returnstheseverityoftheerror.ERROR_STATE():Returnstheerrorstatenumberassociatedwiththeerror.ERROR_PROCEDURE():Returnsthenameofthestoredprocedureortriggerinwhichtheerroroccurred.ERROR_LINE():Returnsthelinenumberinsidethefailingroutinethatcausedtheerror.ERROR_MESSAGE():Returnsthecompletetextoftheerrormessage.Thetextincludesthevaluessuppliedforanysubstitutableparameters,suchaslengths,objectnames,ortimes.最初举例子以下,利用了error类的办法BEGINTRY
DECLARE@XINT
--DividebyzerotogenerateError
SET@X=1/0
PRINTCommandaftererrorinTRYblock
ENDTRY
BEGINCATCH
PRINTErrorDetected
SELECTERROR_NUMBER()ERNumber,
ERROR_SEVERITY()Error_Severity,
ERROR_STATE()Error_State,
ERROR_PROCEDURE()Error_Procedure,
ERROR_LINE()Error_Line,
ERROR_MESSAGE()Error_Message
ENDCATCH
PRINTCommandafterTRY/CATCHblocks
最初输入ErrorDetected
Err_NumErr_SevErr_StateErr_ProcErr_LineErr_Msg
------------------------------------------------------------------------------------
8134161NULL4Dividebyzeroerrorencountered.
这章描述如何检查和处理在MySQL数据库中的数据损坏。如果你的表损坏很多,你应该尝试找出其原因!见G.1调试一个MySQL服务器。
柔情似水 该用户已被删除
沙发
发表于 2015-1-19 21:26:08 | 只看该作者
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
再现理想 该用户已被删除
板凳
发表于 2015-1-25 19:35:46 | 只看该作者
大家注意一点。如下面的例子:
地板
发表于 2015-2-3 17:33:21 | 只看该作者
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
莫相离 该用户已被删除
5#
发表于 2015-2-9 04:17:52 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-26 21:36:17 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
飘灵儿 该用户已被删除
7#
发表于 2015-3-8 18:01:36 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
爱飞 该用户已被删除
8#
发表于 2015-3-16 09:28:32 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
简单生活 该用户已被删除
9#
发表于 2015-3-22 22:09:18 | 只看该作者
我个人认为就是孜孜不懈的学习
透明 该用户已被删除
10#
发表于 2015-3-22 22:09:18 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 18:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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