diff --git a/db/routines/srt/procedures/moving_clean.sql b/db/routines/srt/procedures/moving_clean.sql index 446ad3588..ab16aac99 100644 --- a/db/routines/srt/procedures/moving_clean.sql +++ b/db/routines/srt/procedures/moving_clean.sql @@ -7,6 +7,8 @@ BEGIN DECLARE vExpeditionFk INT; DECLARE vBufferToFk INT; DECLARE vBufferFromFk INT; + DECLARE vStateOutFk INT + DEFAULT (SELECT id FROM expeditionState WHERE `description` = 'OUT'); DECLARE vDone BOOL DEFAULT FALSE; DECLARE vSorter CURSOR FOR SELECT m.expeditionFk, m.bufferToFk, m.bufferFromFk @@ -52,10 +54,10 @@ BEGIN OR (bufferFk = vBufferFromFk AND `position` > 0) FOR UPDATE; - UPDATE expedition + UPDATE expedition SET bufferFk = NULL, `position` = NULL, - stateFk = (SELECT id FROM expeditionState WHERE `description` = 'OUT') + stateFk = vStateOutFk WHERE id = vExpeditionFk; UPDATE expedition @@ -64,7 +66,6 @@ BEGIN AND `position` > 0; COMMIT; - END LOOP l; CLOSE vSorter; END$$