l oop работает вечно, пока я не получу это сообщение:
16: 00: 01 call get_utente_nome_nif (896545691,@nome,@nif) Код ошибки: 2013. Потеряно соединение с MySQL сервер во время запроса 30.000 se c
Код
drop procedure if exists get_utente_nome_nif;
delimiter //
create procedure get_utente_nome_nif(in numero_saude int, out Nome varchar(85),out Nif int)
begin
declare cur_utente_numero_saude int;
declare cur_utente_nome varchar(85);
declare cur_utente_nif int;
declare v_finished int default 0;
declare utente_cursor cursor for select utente.Ute_NrSaude, utente.Ute_Nome, utente.Ute_Nif from utente;
declare continue handler for not found set v_finished = 1;
open utente_cursor;
get_utente: loop
fetch utente_cursor into cur_utente_numero_saude, cur_utente_nome, cur_utente_nif ;
IF cur_utente_numero_saude = numero_saude THEN
set Nome = cur_utente_nome;
set Nif = cur_utente_nif;
elseif v_finished = 1 then
set Nome = null;
set Nif = null;
Else
iterate get_utente;
end if;
end loop;
end //
Я пытаюсь использовать курсоры для извлечения некоторых значений из таблицы utente (также известной как пользователь) с помощью переменных и в keyworkd. Мне нужно заставить его работать с курсорами, это дело колледжа, спасибо за ваше время.