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、为了提高维护性,每个存储过程的行数不能过多,尽量地进行分块作成函数进行调用处理。