码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程格式

时间:2018-06-06 22:26:54      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:end   where   art   bsp   系统   ack   security   存在   eric   

DELIMITER ||| /*定义结束符*/

DROP PROCEDURE IF EXISTS `test` ||| /*删除存储过程如果存在*/

CREATE PROCEDURE `test`(
IN Id INT UNSIGNED,  -- 传入参数

OUT ReturnValue VARCHAR(32), -- 传出参数,定义为错误码
OUT ReturnMessage VARCHAR(1024) -- 传出参数,定义为运行流程

)

MODIFIES SQL DATA
SQL SECURITY INVOKER
COMMENT ‘测试‘
Main : BEGIN /*主体内容开始*/
/*定义状态*/
DECLARE SYSError INT DEFAULT 0;
DECLARE SYSEmpty INT DEFAULT 0;

/*局部变量*/
DECLARE V1  VARCHAR(128) DEFAULT ‘‘;
DECLARE V2  INT UNSIGNED DEFAULT 0;
DECLARE V3  TINYINT UNSIGNED DEFAULT 0;
DECLARE V4 NUMERIC(16,4) DEFAULT 0.0;
/* 声明异常处理(定义系统错误),必须放在变量定义之后*/

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET SYSError = 1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET SYSEmpty = 1;

/* 初始化变量*/

-- 存储过程中的变量赋值为 SET
SET ReturnValue = ‘‘;
SET ReturnMessage = ‘测试开始;

 

-- 开启事务

START TRANSACTION;

  SELECT price INTO V1 WHERE `id` = Id;

  IF SYSEmpty = 1 THEN 

    SET ReturnValue = ‘E_SELECT‘;

    SET ReturnMessage = CONCAT(ReturnMessage ,‘->‘,‘没找到‘);

    LEAVE Main;

    ROLLBACK;

  END IF;

COMMIT;

SET ReturnValue = ‘OK‘;
SET ReturnMessage = CONCAT(ReturnMessage,‘->‘,‘完毕‘);
END |||
DELIMITER ;

 

存储过程格式

标签:end   where   art   bsp   系统   ack   security   存在   eric   

原文地址:https://www.cnblogs.com/wsh-ning/p/9146444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!