mysql 存储过程简单模板

http://database.51cto.com/art/201609/516968.htm

 

存储过程排错,一般要用错误处理器。详细内容参考上方链接。

 

使用示例:

 

set GLOBAL  log_bin_trust_function_creators=true;#表示创建的存储过程或者函数对二进制日志写入无影响

 

 

##定义一个错误信息展示函数,方便存储过程展示更精确的错误信息

DELIMITER $$

CREATE FUNCTION fn_get_error()

RETURNS VARCHAR(250)

BEGIN

    DECLARE code CHAR(5) DEFAULT '00000';

    DECLARE msg TEXT;

    DECLARE errno INT;

     

    GET DIAGNOSTICS CONDITION 1 code = RETURNED_SQLSTATE,  

        errno = MYSQL_ERRNO, msg = MESSAGE_TEXT;

     

    RETURN COALESCE(CONCAT("ERROR ", errno, " (", code, "): ", msg), '-');

END

$$  

 

 

##定义相关的存储过程,可参照此模板写存储过程,对排错和维护有意义

DELIMITER $$

CREATE PROCEDURE procedure_name()

BEGIN

    DECLARE errpos int default 0;

    DECLARE EXIT HANDLER FOR SQLEXCEPTION SELECT 'SQLException encountered' as No_TLucky, errpos as Position_Error,fn_get_error() AS  Error_massage;

 

set errpos=1;/*错误位置1*/

    insert into test.test set  name='p1';

 

set errpos=2;

    insert into test.test set  name='p2';

    

set errpos=3;

    insert into test.test set  name='p3';

insert into test.test set  name=p2;

END

$$  

阅读更多
个人分类: mysql
想对作者说点什么? 我来说一句

后台存储过程及DAL代码模板

2014年09月10日 7KB 下载

没有更多推荐了,返回首页

不良信息举报

mysql 存储过程简单模板

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭