首页 > 数据库技术 > 详细

MySQL存储过程--带参数报错1064

时间:2017-04-08 18:37:20      阅读:378      评论:0      收藏:0      [点我收藏+]

DELIMITER $$

USE `student`$$

DROP PROCEDURE IF EXISTS `sync_student`$$

CREATE DEFINER=`student`@`%` PROCEDURE `sync_student`(para_name varchar)  ----记住varchar类型的参数一定要设置长度,修改为varchar(50),就OK了
BEGIN                                                                                                                   
-- 定义变量
DECLARE id INT;
DECLARE name varchar;
DECLARE course INT;

DECLARE done INT DEFAULT 0;
-- 定义一个游标
DECLARE curCursor CURSOR FOR
SELECT
    d.name AS name,

   d.course as course    

FROM
   student d
WHERE 1 = 1
AND d.name = para_name ;


-- 如果游标指向没有记录,则定义done=1
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;


-- 开始事务
START TRANSACTION;
-- 打开游标
OPEN curCursor;
-- 循环开始
stock_loop:LOOP
-- 获取游标的值,赋值给变量
FETCH curCursor INTO name;

-- 如果游标已经执行完,则跳出stock_loop 循环
IF done=1 THEN
COMMIT;
LEAVE stock_loop;
END IF;

......


-- 循环结束
END LOOP stock_loop;
-- 关闭当前游标
CLOSE curCursor;
-- 事务提交
COMMIT;

END$$

DELIMITER ;

MySQL存储过程--带参数报错1064

原文:http://www.cnblogs.com/pwang18321767860/p/6682373.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!