mysql cursur работает вечно - PullRequest
0 голосов
/ 18 июня 2020

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. Мне нужно заставить его работать с курсорами, это дело колледжа, спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...