mysql存储过程基础写法

把自己这几天写的应用游标的存储过程整理了一下,很基础,存一份模版,以后备用;

--1.将mysql分隔符从;设置为//
DELIMITER //
DROP PROCEDURE IF EXISTS `abby_test` ; 
--2.定义存储过程
CREATE DEFINER = `root`@`%` PROCEDURE `abby_test` ()
BEGIN
    --3.声明所需变量
    DECLARE a_demo VARCHAR (100);
    DECLARE b_demo BIGINT;
    
    --4.定义游标结束标识,默认为0
    DECLARE done_cursor_abby_test INT DEFAULT 0; 
    --5.定义游标
    DECLARE cursor_abby_test CURSOR FOR 
    SELECT a,b FROM `xxxx` where 条件;
    
    --6.当SQLSTATE符合条件的时候会将游标结束标识设置为1
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done_cursor_abby_test = 1; 

    --7.打开游标
    OPEN cursor_abby_test; 
        --8.读取游标中数据
         FETCH cursor_abby_testINTO a_demo,b_demo;
        --9.符合轮询条件时继续往下走
        WHILE done_cursor_abby_test <> 1 DO
            ~~~~~执行特定SQL~~~~~~
        FETCH cursor_abby_testINTO a_demo,b_demo;
        END WHILE;
    --10.关闭游标
    CLOSE cursor_abby_test;
END ;//
--11.将mysql分隔符从//设置为;
DELIMITER ;

本文链接:https://my.lmcjl.com/post/12567.html

展开阅读全文

4 评论

留下您的评论.