MySQL 存储过程(一)

简介

记录了在MySQL中使用游标和存储过程的写法

delimiter $$
use `uportal`$$
drop procedure if exists `update_refid_feedback`$$
create definer=`root`@`localhost` procedure `update_refid_feedback`()
begin
	# 创建接收游标值的变量 
	declare ex_id varchar(100);	
	declare app_refid varchar(100);  
	declare done boolean; # 创建结束变量 
	# 创建游标 
	declare cur cursor for (select id,refid from T_CENTER_TCPEXPENSE where refid <> ' ' and type =15);
	
    # 如果没有返回数据 则done赋值为true 
	declare continue handler for not found set done = true; 
	
    # 打开游标 
	open cur;
	# 开始循环
	read_loop : loop
	
        # 游标向下走一步
	    fetch cur into ex_id,app_refid;	
	    
        if done then # 因为没有数据返回 所以done为true 从而进入if分支 	 
		    leave read_loop; # 结束循环
		    close cur;	# 关闭游标
	    end if;
	    
        update T_CENTER_TRAVELAPPLY set feedback=1,refid=ex_id where id=app_refid;
	 
	end loop;
	select * from T_CENTER_TRAVELAPPLY;
    end$$
delimiter ;


call update_refid_feedback();

 
 
 
 
 
 

                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值