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

Kann ich mysql Select, Update und Delete in einer Abfrage ausführen?

Sie können die Anzahl der Abfragen nicht reduzieren – sie alle machen unterschiedliche Dinge – aber Sie könnten die Anzahl der Roundtrips zur Datenbank und die Anzahl der Parses reduzieren, indem Sie alles in eine PLSQL-Funktion packen.

Sie können die Daten jedoch nicht auswählen, nachdem Sie sie gelöscht haben.....aber bedenken Sie:

CREATE PROCEDURE s_u_d(a)
BEGIN

UPDATE tab_x SET tab_x.avalue=1 WHERE tab_x.another=a;

DELETE FROM tab_y WHERE tab_y.avalue=a;

SELECT * 
FROM tab_x
WHERE tab_x.another=a;

END;

NB - Sie können auch mehrere Auswahlen im selben Verfahren ausführen und mehrere unterschiedlich geformte Ergebnismengen verarbeiten, z. siehe diese Seite