Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1431 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

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

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°2091361
mrbebert
Posté le 25-07-2011 à 14:41:29  profilanswer
 

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.
mood
Publicité
Posté le 25-07-2011 à 14:41:29  profilanswer
 

n°2091610
boboss75
Posté le 26-07-2011 à 21:01:58  profilanswer
 

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)

n°2091754
mrbebert
Posté le 27-07-2011 à 15:21:45  profilanswer
 

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.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

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

 

Sujets relatifs
Lien vers nouvelle page si bonne réponseVérification email
[Oracle] Optimisation requete avec UNIONerreur execution, compilation
[SQL] Resultat requete dans une variable1 requete SQL avec deux Requete Distincte
Execution d'une Macro Access a partir d'un code C#execution de commande shell fonctionne une fois sur deux
Joomla, une bonne alternative ?Conseil aide requete sql
Plus de sujets relatifs à : Vérification de la bonne exécution d'une requête


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR