美文网首页
mysql 存储过程书写

mysql 存储过程书写

作者: 丁白一 | 来源:发表于2018-12-18 17:41 被阅读0次

    1.存储过程定义:

    CREATE PROCEDURE test_pro(IN p_name VARCHAR(30))
    BEGIN
    select * from user where name = p_name ;
    END;
    

    2.删除存储过程:

    DROP PROCEDURE IF EXISTS test_pro;
    

    2.存储过程定义变量和引用变量:

    DROP PROCEDURE IF EXISTS test_pro;
    CREATE PROCEDURE test_pro(IN p_name VARCHAR(30))
    BEGIN
    --  定义两个变量接收游标查询出的结果
    DECLARE _name VARCHAR(30); 
    DECLARE _id int;
    DECLARE done INT;
    -- 定义游标
    DECLARE temp CURSOR FOR(
        select id,name from user where name = p_name
    );
    -- 将结束标志绑定到游标
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
    -- 打开游标 查询到的数据插入到对应表中
    OPEN temp; 
            cursor_loop:LOOP
                FETCH temp INTO _id ,_name;
                IF done=1 THEN
                    LEAVE cursor_loop;
                END IF; 
                INSERT INTO user_copy (`id`, `name`)VALUES (_id , _name);
            END LOOP;
    CLOSE temp;
    END;
    

    3.调用存储过程

    SET @p_name =‘张三’;
    CALL test_pro(@p_in);
    --   或者这样:call test_pro(‘张三’);
    

    相关文章

      网友评论

          本文标题:mysql 存储过程书写

          本文链接:https://www.haomeiwen.com/subject/ulvlkqtx.html