mysql 存储过程的写法

此文章适合初学者 或 初次使用者


1、定义变量及赋值

DECLARE _beginTime VARCHAR(40) DEFAULT "time";  

 赋值

SET _beginTime = DATE_FORMAT(NOW(),'%Y-%m-%e');

另一种为 @  用户变量

赋值

@beginTime = DATE_FORMAT(NOW(),'%Y-%m-%e');

SELECT beginTime INTO @beginTime FROM tableName limit 1;

SET @beginTime = (SELECT beginTime  FROM tableName limit 1);


2、游标

当检索出数据列表时需要每一条的数据再进行处理 这时候就需要游标操作,就像遍历一个数组一样

DECLARE done Boolean default false; #记得要写在上面,用于标示游标指引结束 用于判断是否是最后一行跳出循环

DECLARE _filed1 VARCHAR(40);

DECLARE _filed2 VARCHAR(40);

DECLARE tempCursor CURSOR FOR SELECT filed1,filed2 FROM tableName;#定义一个游标 指向的是For后边的select语句

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = true;#当找不到即最后一行时设置参数done为true

OPEN tempCursor;#打开游标

begin_calc: LOOP#设置loop循环
FETCH tempCursor INTO _filed1,_filed2; #赋值
IF done THEN     #当为true时
    LEAVE begin_calc;#跳出循环
ELSE
    INSERT INTO table2  VALUES(_filed1,_filed2);    #执行操作
END IF;
CLOSE tempCursor#关闭游标

END LOOP;





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值