sql >> Database >  >> RDS >> Mysql

Kan ik een mysql Select, Update en Delete in één query doen?

U kunt het aantal zoekopdrachten niet verminderen - ze doen allemaal verschillende dingen - maar u kunt het aantal retourvluchten naar de database en het aantal parsen verminderen door het allemaal als een PLSQL-functie in te pakken.

U kunt de gegevens echter niet selecteren nadat u ze hebt verwijderd.....maar denk aan:

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 - u kunt ook meerdere selecties uitvoeren in dezelfde procedure en meerdere, verschillend gevormde resultatensets verwerken, b.v. zie deze pagina



  1. Automatisering gebruiken om releasetests op Galera Cluster te versnellen met ClusterControl

  2. Hoe de grootte van de mysql-database te krijgen?

  3. Aankondiging van ClusterControl 1.4.1 - de ProxySQL-editie

  4. Geparametriseerde query in Oracle-problemen