L'istruzione DO
Ultima revisione a cura di Sante Caserio, 07 Febbraio, 2010 23:16
A volte vogliamo che una funzione o una Stored Procedure venga eseguita, ma essa non restituisce un risultato, oppure non ci interessa conoscere questo risultato.
Poichè le funzioni possono essere inserite in una espressione SQL e le Stored Procedure possono essere richiamate con CALL, possiamo tranquillamente usare una SELECT per chiamarle. Tuttavia in questo modo MySQL ci invierà un recordset (eventualmente vuoto), allocando memoria sul server e sul client e aumentando il traffico di rete. Per evitarlo, invece di SELECT è possibile utilizzare DO.
1 DO CALL faiQuesto(); -- stored procedure 2 DO RELEASE_LOCK('mioLock'); -- funzione
Non è possibile eseguire altre istruzioni all’interno di DO (OPTIMIZE, KILL, etc). Solo le espressioni SQL sono ammesse. In compenso è possibile eseguire più funzioni con una sola chiamata:
1 DO miaFunzione(), tuaFunzione(), nostraFunzione();