SQL中的异常处理
来源:互联网 发布:java如何实现高并发 编辑:程序博客网 时间:2024/06/05 19:20
摘要:最近工作要编写一些SQL的存储过程,略做整理,只是一些小小的知识碎片。今天整理的是SQL中的异常处理问题。
下文中我除去了一些完整的使用方法,只做定义,打开操作(cursor, xml handler),这里只是写异常问题。
代码片段:
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONGO/* ==========================================================================| SP NAME : sp Name| PURPOSE : || RETURN : || | ASSUME : | HISTORY :===========================================================================*/ALTER PROCEDURE SP_Name@xml_msgxmlASBEGINSET NOCOUNT ON;BEGIN TRY/* xml_handler*/DECLARE @xml_handlerINTEXEC sp_xml_preparedocument @xml_handler OUTPUT, @xml_msg/* cursor */DECLARE cur CURSOR FOR SELECT * from tableOPEN curEND TRYBEGIN CATCH
/* step 1*/print error_state()print error_message()print error_line()/* step 2 deal xml handler*/if @xml_handler > 0exec sp_xml_removedocument @xml_handlerset @xml_handler = 0/* step 3 deal cursor*/IF cursor_status('global','cur') >= 0 BEGIN--close curCLOSE cur--delete curDEALLOCATE curEND/*step 4 the special error SP*/exec generic_error_handler END CATCHEND具体步骤
首先通过try。。。。catch方式捕捉异常
step 1 通过一些SQL自带的函数,来捕捉一些有用的错误信息
比如:
print error_state() 返回错误状态代码
print error_message() 返回错误完整信息
print error_line() 返回错误位置
step 2,3 处理一些可能没有关闭的句柄,这些句柄将会耗费占用不必要的内存
step 4 使用一些专门处理错误的SP。
- SQL中的异常处理
- pl/sql中的异常处理
- PL/SQL中的异常处理
- PL/SQL中的异常处理
- 【SQL Server学习笔记】SQL Server中的异常处理
- PL/SQL中的几种异常处理方法
- PL/SQL 异常处理
- PL/SQL异常处理
- PL/SQL异常处理
- sql 异常处理
- PL/SQL异常处理
- SQL Server异常处理
- PL/SQL 异常处理
- pl/sql异常处理
- PL/SQL 异常处理
- PL/SQL异常处理
- PL SQL异常处理
- PL/SQL 异常处理
- redis的安装
- web 调用摄像头 Silverlight实现
- mysql的innodb存储引擎(三)
- PHP:6种方法获取文件的扩展名
- Linux--Socket Buffer--Netowrk Devices--Network Drivers
- SQL中的异常处理
- 面试问题归纳
- 一个WordPress站点绑定多个域名
- python 专题十 FTP 操作
- 《程序员的自我修养—链接、装载与库》
- android地图开发出现java.lang.NoClassDefFoundError: MyPositionActivity......异常解决办法
- Linux USB-Wifi Driver 解析
- Hadoop压缩算法不支持自定义的压缩和解压接口
- Guidelines - C++11, 25 of n