MySQl存储过程例子

DELIMITER $$

USE `weipansettlementdb`$$

DROP PROCEDURE IF EXISTS `proc_demo`$$

CREATE DEFINER=`weipan_jy`@`localhost` PROCEDURE `proc_demo`(
  p_demo VARCHAR(8),		#参数
  OUT op_code INT,		#小于0为错误代码, 大于0为委托单号
  OUT op_msg VARCHAR(30)	#返回信息
)
    MODIFIES SQL DATA
proc_demo:
BEGIN
  DECLARE v_demo VARCHAR(8);
  
  DECLARE EXIT HANDLER FOR SQLEXCEPTION
  BEGIN
    SHOW WARNINGS;
    ROLLBACK;
    SET op_code=-1;
    SET op_msg=`flot_getmsg`(-1);
  END;
 
 SET op_code=-1;
 
 SELECT `demo` INTO v_demo
 FROM `t_demo` WHERE `demo` = p_demo;
 
 IF v_demo = p_demo THEN
   LEAVE proc_demo;
 END IF;
 
 START TRANSACTION;
 
 COMMIT;
 
 SET op_code = 0;
 SET op_msg=`flot_getmsg`(0);
  
END$$

DELIMITER ;

  

posted @ 2017-08-21 17:12  Carl丶Zz  阅读(120)  评论(0编辑  收藏  举报