Mysql
 sql >> Database >  >> RDS >> Mysql

Posso fare una selezione, aggiornamento ed eliminazione di mysql in una query?

Non puoi ridurre il numero di query - fanno tutte cose diverse - ma puoi ridurre il numero di round trip al database e il numero di analisi avvolgendo tutto come una funzione PLSQL.

Tuttavia non puoi selezionare i dati dopo averli eliminati..... ma considera:

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:puoi anche eseguire selezioni multiple nella stessa procedura e gestire più set di risultati di forma diversa, ad es. vedi questa pagina