sql >> Base de Datos >  >> RDS >> Mysql

Seleccione el conjunto de resultados en una variable y luego use esa variable en una actualización más adelante en el mismo procedimiento almacenado

Algo como esto:

CREATE PROCEDURE test()
BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp AS (SELECT id FROM table WHERE this='this');
some other stuff
UPDATE table2 SET blah='blah' WHERE fk_id IN (SELECT id FROM tmp);
END;