Vérification de la bonne exécution d'une requête

Vérification de la bonne exécution d'une requête - SQL/NoSQL - Programmation

Marsh Posté le 25-07-2011 à 14:41:29    

Bonjour :jap:  
 
J'ai un traitement qui traite des lignes puis les supprime et que je souhaite planifier. Avec un fonctionnement automatisé, je veux bien sur m'assurer du bon déroulement des opérations.
 
Il faudrait donc vérifier qu'une requête s'est bien déroulée avant de lancer la suivante. Concrètement, celà ressemble à celà :

Code :
  1. INSERT INTO table2 SELECT des_traitements(des_colonnes) FROM table1 WHERE la_colonne='la_valeur_traitee';
  2. DELETE FROM table1 WHERE la_colonne='la_valeur_traitee';


Il faudrait s'assurer que le DELETE n'est fait que si l'INSERT s'est bien déroulé (pour ne pas supprimer des lignes qui n'ont pas été traitées).
 
Y a t'il un moyen "simple" de faire celà avec Oracle.
(mes connaissances en PL/SQL sont plus proches du néant que de l'expertise :pt1cable: )
 
Si vous savez comment s'y prendre, ou une approche différente à me proposer, je suis à votre écoute, merci [:coldlake]  
 
(ah oui : c'est un Oracle 9.2, évitons les solutions trop récentes :/ )


---------------
Doucement le matin, pas trop vite le soir.
Reply

Marsh Posté le 25-07-2011 à 14:41:29   

Reply

Marsh Posté le 26-07-2011 à 21:01:58    

il suffit par exemple d'effectuer un "commit" à la fin des 2 instructions (si erreur sur la 1ère requete cela levera une exception ou tu pourras faire un rollback)
sinon tu peux aussi faire un trigger (si pas de probleme de perf)

Reply

Marsh Posté le 27-07-2011 à 15:21:45    

Oui, c'est ce que j'ai trouvé de plus simple. Une procédure dans ce genre :

Code :
  1. BEGIN
  2.   - requête 1
  3.   - requête 2
  4.   - commit
  5. EXCEPTION
  6. rollback
  7. END


Ca me donne l'occasion de commencer le PL/SQL sur un cas pas trop complexe :)
 
Pour le trigger, ça signifie que la suppression serait faite ligne par ligne, au fur et à mesure de l'insertion par la première requête ? Pas testé mais j'ai peur que ça n'explose les perfs :/


Message édité par mrbebert le 27-07-2011 à 15:24:48

---------------
Doucement le matin, pas trop vite le soir.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed