Ciao,
praticamente subito all'inzio della stored procedure devi dichiarare gli exit handler per decidere cosa fare quando ci sono degli errori nella transazione..
codice:create procedure pippo() begin #se una select non trova il dato fai rollback declare exit handler for not found rollback; #se si verifica un'eccezione fai rollback declare exit handler for sqlexception rollback; #ecc. ecc. start transaction (...qui fai le tue insert, delete e altre istruzioni DDL ...) commit; end
riferimenti : http://dev.mysql.com/doc/refman/5.5/...e-handler.html