Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/10/2010, 07:32
meix
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años
Puntos: 3
Respuesta: Ejecución de varias sentencias sql..

Tu pregunta es más compleja de lo que parece XDD.

Te explico.

Si haces un script, que copias en tu cliente mysql (por ejemplo mysqlyog) y lo ejecutas, te lo hace y fuera, puedes poner todas las querys (seguidas y con ;) que quieras pero tienes que ejecutarlo como "script" y no como "query".

Ahora bien, si lo que quieres es hacer un "undo" como los que hace oracle tirando de redo (Es decir, que si en vez de commit, haces rollback, es como si no te hubiera hecho nada) en oracle sería sencillísima tu pregunta, pero en mysql no.

Mysql tiene varios "engines" para trabajar, dependiendo del que hayas elegido tu (Consciente o inconscientemente), por ejemplo myisam o innodb que son los más famosos, puedes tener la opción de "commit" y "rollback" (investiga por esos terminos a mysql) de tal forma que tu ejecutas el script, y si falla, rollback, y si acierta, commit. No solo es el engine que uses, si no además tener tu mysqld configurado para que funcione esto.

Lo más normal es que estés funcionando en un mysql que no soporta esto, con lo que consulta echa, consulta metida en base de datos.

Te recomiendo que investiges los commits en mysql <-- a ver si encuentras algo que te sirva.

Otra opción, es que te generes un PL/SQL que maneje "excepciones" y si tienes una excepcion, haga no se qué...

No sé si me he explicado y si esto te ayuda o te lia xDDDD