优化五在执行insert语句之后 。要用mysql中自带的@error_count参数来判断插入数据是否成功 。方便开发人员跟踪执行结果 。如果该参数的值不为0 。表示插入失败 。那么我们就用一个返回参数值来表示操作失败 。修改之后的存储过程如下:
dropprocedureifexistspr_dealtestnum;delimiter//createprocedurepr_dealtestnum(inp_boxnumbervarchar(30),outp_resultint--0-succ,other-fail)pr_dealtestnum_label:begindeclarep_usertypeint;declarep_datacountint;selectcount(*)intop_datacountfromtb_testnum_tmpwhereboxnumber=p_boxnumber;ifp_datacount>0thenbeginselectusertypeintop_usertypefromtb_testnum_tmpwhereboxnumber=p_boxnumber;end;elsebeginsetp_result=1;leavepr_dealtestnum_label;end;endif;selectcount(*)intop_datacountfromtb_testnumwhereboxnumber=p_boxnumber;ifp_datacount=0thenbegininsertintotb_testnum(boxnumber,usertype)values(p_boxnumber,p_usertype);if@error_count<>0thenbeginsetp_result=3;end;elsebeginsetp_result=0;end;endif;end;elsebeginsetp_result=2;end;endif;leavepr_dealtestnum_label;end;//delimiter;select'createprocedurepr_dealtestnumok';总结从上面可以看出 。一个短短的存储过程 。就有这么多需要优化的地方 。看来存储过程的编写也不是一件很简单的事情 。平时在编写代码(不仅仅是存储过程)的时候 。一定要从功能、可读性、性能等多方面来考虑 。这样才能够写出优美的、具备较长生命周期的存储过程 。
- 削皮甘蔗怎么保存能放多久
- 如何保存莲藕时间长
- 产妇的住院过程和实用待产包有哪些?让新手妈妈不再手忙脚乱?
- 33岁特别想创业,在这个过程中又不影响现在的工作,行吗?
- 玉米储存生虫子怎么办喷什么药 玉米储存生虫子怎么办
- 五仁月饼馅制作过程 家庭自制五仁月饼馅的做法
- 螃蟹死了要怎么存放
- word图表折线图制作过程 Word如何制作折线图表
- 削皮的甘蔗如何储存
- 拆开的火锅底料能放多久
