Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie die Ergebnismenge in einer Variablen aus, und verwenden Sie diese Variable später bei einer Aktualisierung in derselben gespeicherten Prozedur

Etwa so:

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;