IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

[PL/SQL] Controler qu'une requete s'est bien passée


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Par défaut [PL/SQL] Controler qu'une requete s'est bien passée
    Bonjour à toutes et à tous.

    Je développe quelque peu en PL/SQL et j'aurais aimé savoir s'il était possible de contrôler la bonne exécution d'une requête de type INSERT ou DELETE
    (excepté en faisant un SELECT ensuite )

    Comme par exemple une sorte de code retour qui m'indiquerait que oui mes donnees ont bien été insérées par exemple .

    J'ai toujours utilisé les curseurs avec des requêtes de type SELECT. Peut-être pourrais-je essayer d'utiliser un curseur avec des requêtes du type DELETE ou INSERT ?

    Merci de vos réponses.

    Bahan

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Par défaut
    Tu peux utiliser SQL%ROWCOUNT pour voir le nombre de ligne traitée.
    Fait un DBMS_OUTPUT.PUT_LINE pour l'afficher.

    Sinon, dans un PL ajoute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHENEVER SQLERROR EXIT FAILURE ROLLBACK;
    Ca te permet de sortir en cas d'erreur.

    Tu peux aussi gèrer les EXCEPTION dans ton PL.

  3. #3
    Membre confirmé Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Par défaut
    Qu'est-ce qu'un PL ?

    En gros, moi, pour le moment, j'ai pensé à une solution de ce genre, mais c'est ce que je veux plus ou moins évité .

    En gros, je définis un curseur qui va faire un zoli

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT 1 
    FROM gnagnagna
    WHERE blablabla
    de ce que je vais effacer/mettre à jour/insérer, et après quand je l'ouvre, j'utilise les critères %FOUND ou %NOTFOUND dans un IF pour savoir si oui ou non je fais la requête.

    Bahan

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Par défaut
    PL = PL/SQL

    Tu sais si tu dis à Oracle de faire un DELETE ou un INSERT et que ta proc ne te génère pas d'erreurs à la compilation ( SHOW ERRORS ) et à l'exécution, tu peux être sûr que tout s'est bien passé !

  5. #5
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 176
    Par défaut
    il y a les exception dans oracle, regard de ce coté la !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer le nom d'une table sur SQL server avec une requete
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/02/2014, 23h35
  2. Comment savoir si une requete c'est bien passé
    Par choubak dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/07/2007, 15h26
  3. Réponses: 2
    Dernier message: 10/06/2006, 06h02
  4. [SQL] Erreur dans une requete
    Par einsteineuzzz dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 30/05/2006, 15h25
  5. [SQL] tri d'une requete
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/10/2005, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo