56,687
社区成员
发帖
与我相关
我的任务
分享
DELIMITER $$
CREATE PROCEDURE `p_fourfive`(out _four varchar(10), out _five varchar(10))
SQL SECURITY INVOKER
BEGIN
declare _Fou int(10);
declare _Fiv int(10);
declare done int default false;
#得到4和5的位置
declare cur_account cursor for select LOCATE(',4:',packet)+1 ,LOCATE(',5:',packet)+1 from t_u_playerinfo;
declare continue handler for not found set done = true;
open cur_account;
read_loop: LOOP
FETCH cur_account into _Fou,_Fiv;
if done then
leave read_loop;
end if;
if _Four = 0 then
set _Four = 0;
else
select substring_index(substring(packet,_Fou,6),',',1) into _four from t_u_playerinfo;
end if;
if _Five = 0 then
set _Five = 0;
else
select substring_index(substring(packet,_Fiv,6),',',1) into _five from t_u_playerinfo;
end if;
end LOOP;
CLOSE cur_account;
END$$
DELIMITER ;
Error Code : 1172 Result consisted of more than one row