关于对CDR处理的一点感悟(存储过程)

来源:互联网 发布:ipad软件未认证 编辑:程序博客网 时间:2024/05/24 06:32

关于批量自动处理程序

1. 自动处理程序要假设每一个操作步骤(或者模块)都可能会出错的情况下,提供自动处理的解决方案。同时记录好每次处理的行数,便于下次自动从该行继续执行。

2.处理前保存好未分析的原始信息,数据。


关于写复杂的存储过程应注意

1.在子存储过程中不去处理异常,让异常抛出,由主存储过程进行捕获,并统一处理。(该子存储过程主要为主存储过程服务,不可单独运行的那种)。

2.子存储过程的原则:1-做简单,单一的事情 2-不处理错误(即:不加try catch)3-外弹异常,由外层统一处理,回滚。4-若是可相对独立的子存储过程,用return code的方式较好。 若是只依赖于主存储过程的子存储过程,用return error的方式好(便于主存储过程捕捉异常)。

3.外层中的事务,如果被回滚,则子存储过程中的所有(try catch)都会无效,所以还是要写在外层。

4.goto的使用:适合的场合:出错的统一处理。比子函数处理起来方便。不适合的场合:在事务中不能用goto,一旦goto出来了,事务就不配对了。

5.Raiserror的作用:有级别的限制,不要生成过高基本的error。用return中断是比较好的做法。

6.索引的添加:开始可以不必关心,待整个程序做好后,再看哪些列用的比较频繁,只给那些列增加索引。索引的目的不是为了精确到某一行,而是将查询范围缩小到可以接受的数据量就OK。

7.文档的重要性:理想的情况是,做之前先把问题暴露在文档中,文档确定了,程序就按照它来执行,保持二者的一致。