-- 注意:SQL需放到mysql console执行,如:放在navcat query里面会报错
create procedure pro_gc_error_ticket(in parameter integer)
begin
DECLARE no_more_products, quantity_in_stock INT DEFAULT 0; -- 最后一行标识
DECLARE prd_code VARCHAR(255); -- ID
DECLARE flight_no VARCHAR(255);
DECLARE cur_product CURSOR FOR -- 定义游标--------------BEG
select meta_services_ticket_id,meta_flight_no
from meta_services_ticket
where state = 'create' limit 0,3;-- 定义游标------END
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_products = 1; -- 最后一行标识设置
OPEN cur_product; -- 打开游标
IF parameter=1 then
REPEAT -- 遍历结果集
FETCH cur_product INTO prd_code,flight_no;
update meta_services_ticket set meta_flight_no = 'updateValue'
where meta_services_ticket_id = prd_code;
UNTIL no_more_products = 1
END REPEAT;
END IF;
CLOSE cur_product; -- 关闭游标
end
-- 辅助SQL
show procedure status; -- 查看存储过程
drop procedure pro_gc_error_ticket; -- 删除存储过程
call pro_gc_error_ticket(1); -- 调用存储过程