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

PL/SQL Oracle Discussion :

Problème avec SQL*Plus


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Problème avec SQL*Plus
    slt tt le monde jai un probleme dans mon application tt ce que je fais cette erreur va apparaitre meme si la requete est juste voici par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    declare
    	var number;
    begin
    	select moyenne into var
    	from soutenance
    	where mention = :block6.text_item8;
     
    	:block6.text_item9 := var;
    end;
    voici le msg d'erreur :
    FRM-40735: le déclancheur when button pressed à detecté une exxeption non traitéedans ce code je nai q'une seule table qui est soutenance et je voulé qu'il me selectionne la moyenne dans un tiiem qui est 9
    en lui donnant la mention qui est dans l'ittem 8


    et qu'on j'ouvre sql+ pour voire ma table c'est a dire kon je fai select* from soutenance il me di qu'il ya aucune ligne selectionné
    meme si j'insert aprés mais des que je le ferme et je me connecte apré je trouve ma table vide je ne sai pas pour quoi je vous demamnde de maider

  2. #2
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Il faut écrire commit; pour enregistrer tout le travail qui tu as fait.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut Explication de l'erreur
    Bonjour sirene_brune,

    La table soutenance est vide.
    Donc le select moyenne ne trouve aucune données.
    Donc une exception est levée : NO_DATA_FOUND
    C'est le sens du message "FRM-40735: le déclencheur when button pressed a detecté une exception non traitée"

    Pour "traiter" cette exception il faut se décider de la valeur qu'on veut renvoyer pour moyenne quand la mention recherchée n'existe pas.
    Ca se gère avec une clause exception.
    Par exemple on peut vouloir mettre 0 dans var.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    declare
    	var number;
    begin
    	SELECT moyenne INTO var
    	FROM soutenance
    	WHERE mention = :block6.text_item8;
     
    	:block6.text_item9 := var;
    -- Affectation de la valeur 0 à var si la mention recherchée n'est pas trouvée
    Exception
      When NO_DATA_FOUND Then
        var := 0;
    end;
    Pozzo

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Pour faire plus simple, on peut affecter directement l'item dans le select.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    begin
    	SELECT moyenne INTO :block6.text_item9
    	FROM soutenance
    	WHERE mention = :block6.text_item8;
    Exception
      When NO_DATA_FOUND Then NULL;
    end;

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut
    C'est plus simple et plus matin car dans mon exemple on affecte une valeur à la variable "var" dont on ne fait rien.

    On pourrait sans doute affecter la valeur 0 à :block6.text_item9 (mais je connais mal forms).

    Pozzo

  6. #6
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Affecter une moyenne 0 n'est pas forcément une bonne idée. Le fait d'affecter une valeur dans le cas où on ne trouve rien, c'est selon l'application. Au développeur de voir

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut
    Bien d'accord.

    Mon point de vue et l'exemple donné sont des considérations techniques.
    Au développeur de voir en fonction des règles métiers.

    Pozzo

Discussions similaires

  1. Problème de connexion à une base oracle avec SQL PLUS en mode graphique
    Par Bayfall dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 24/01/2010, 17h34
  2. Problème avec sql plus
    Par luckynick dans le forum Sql*Plus
    Réponses: 1
    Dernier message: 08/07/2008, 14h37
  3. problème avec sql plus
    Par minooo dans le forum Installation
    Réponses: 11
    Dernier message: 13/01/2008, 12h36
  4. Problème de connexion et login avec sql*plus
    Par adapter dans le forum Sql*Plus
    Réponses: 3
    Dernier message: 13/06/2007, 14h12
  5. listage de triggers/sequences avec sql plus
    Par stross dans le forum Oracle
    Réponses: 52
    Dernier message: 20/04/2004, 15h41

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