[code]BEGIN
DECLARE compra int;
DECLARE controle int;
DECLARE f int DEFAULT 0;
DECLARE controles CURSOR FOR SELECT cc.cont_id FROM agendamento a, roteiro_item ri, controle_compras cc
WHERE a.roteiros_rot_id = ri.roteiros_rot_id AND a.agen_id=cc.agendamento_agen_id AND a.agen_id =new.agendamento_agen_id;
DECLARE estacoes CURSOR FOR SELECT ri.Estacoes_estac_id FROM agendamento a, roteiro_item ri, controle_compras cc
WHERE a.roteiros_rot_id = ri.roteiros_rot_id AND a.agen_id = cc.agendamento_agen_id AND a.agen_id =new.agendamento_agen_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET f = 1;
OPEN controles;
OPEN estacoes ;
REPEAT
FETCH estacoes into compra;
FETCH controles into controle;
INSERT INTO compras_item (clientes_passageiros_pas_id,Estacoes_estac_id,controle_compras_cont_id) VALUES (new.clientes_passageiros_pas_id,compra,controle);
UNTIL (f = 1) END REPEAT ;
CLOSE controles;
CLOSE estacoes ;
END[/code]
Os dois cursores retornam 2 linhas,mas na hora da inserção a trigger insere 3 linhas, alguem poderia me ajudar?