T-SQL 编码时应该注意的10个问题


1、存在更新表的处理时都要加事务处理;

2、事务开启前需要出事务开启Log,事务提交或回滚后需要出事务关闭Log;

3、关于游标处理,因为游标也有开启关闭的处理,所以也需要如同事务的开启和关闭Log;

4、事务在提交或回滚时为了防止异常发生需要加一个事务状态判断 ( @@TRANCOUNT > 0 的场合进行事务关闭处理);

5、为了在发生系统异常下提供详细的出错信息,需要在CATCH里出一个详细的异常Log信息; 
例:SELECT @MESSAGE = 'Error Procedure:'+ISNULL,'存储过程名称')+', Error Line:'+CONVERT,ERROR_LINE()+7)+', Detailed Information:'+ERROR_MESSAGE()

6、事务的提交成功处理应该在所以业务处理完后Return前进行,异常回滚处理应该紧接在CATCH之后处理;

7、查询结果需要循环处理的尽量使用表变量代替游标处理;

8、用表变量循环处理数据量过大时请使用临时表进行处理;

9、为了提高可读性,所有关键字请大写,还有注意代码的缩进,尽量地多加些注释说明;

10、为了提高维护性,每个存储过程的行数不能过多,尽量地进行分块作成函数进行调用处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值