KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I wish to do something which appear a bit complicated in MySQL. In fact, I wish to open a cursor, do a loop, and in this loop, open a second cursor using the data from the previous fetch to be executed, and re-loop on the results. DECLARE idind INT; DECLARE idcrit INT; DECLARE idindid INT; DECLARE done INT DEFAULT 0; DECLARE done2 INT DEFAULT 0; DECLARE curIndicateur CURSOR FOR SELECT id_indicateur FROM indicateur; DECLARE curCritereIndicateur CURSOR FOR SELECT C.id_critere FROM critere C where C.id_indicateur=idind; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; set idindid=54; OPEN curIndicateur; REPEAT FETCH curIndicateur INTO idind; open curCritereIndicateur; REPEAT FETCH curIndicateur INTO idcrit; INSERT INTO SLA_DEMANDE_STATUS (iddemande,idindicateur,indicateur_status,progression) values('0009',idcrit,'OK',10.0); UNTIL done END REPEAT; close curCritereIndicateur; UNTIL done END REPEAT; CLOSE curIndicateur; In fact, how to do 'Until done' differently for the two cursors, because you can only declare one handler for SQLSTATE? If the first ends, the second ends too.
Tags (comma-separated)
Save Edits
Cancel