Mysql
 sql >> Base de données >  >> RDS >> Mysql

Puis-je effectuer une sélection, une mise à jour et une suppression mysql en une seule requête ?

Vous ne pouvez pas réduire le nombre de requêtes - elles font toutes des choses différentes - mais vous pouvez réduire le nombre d'allers-retours vers la base de données et le nombre d'analyses en enveloppant le tout dans une fonction PLSQL.

Cependant, vous ne pouvez pas sélectionner les données après les avoir supprimées... mais considérez :

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 - vous pouvez également exécuter plusieurs sélections dans la même procédure et gérer plusieurs ensembles de résultats de formes différentes, par ex. voir cette page