Salut J'ai une application avec un serveur mySQL. Il utilise les tables InnoDB et les contraintes d'integrité référentielles. Donc si on veut supprimer un enregistrement qui est utilisé, le serveur me jette.
Ma question est : Est-ce qu'on peut tester une requete sans la faire vraiment ?
Publicité
Posté le 02-07-2003 à 09:04:34
MagicBuzz
Posté le 02-07-2003 à 11:07:17
Avec Oracle, tu peux faire ça :
WHENEVER SQLERROR EXIT -1
begin transaction;
delete from ma_table where id = 1;
rollback;
EXIT 0;
Tu éxécutes ce block, et ça te retournera -1 si tu ne peux pas deleter la ligne, et 0 si tu peux.
cedricbrun
Posté le 02-07-2003 à 11:21:30
Merci j'essai
cedricbrun
Posté le 02-07-2003 à 11:26:41
le Whenever à pas l'air de passer avec mysql.... C'est ballot.
MagicBuzz
Posté le 02-07-2003 à 14:26:19
Ha bah ouais...
Bah fait toujours un begin trans puis le delete.
Si ça plante, de toute façon ça fera un rollback.
Et si ça plante pas, tu fais un rollbck derrière.