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 :

Erreur dans un paquetage (partie body)


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut Erreur dans un paquetage (partie body)
    Bonjour à tous, celà fait maintenant plus d'une heure que je recherche une erreur et je ne la trouve toujours pas alors je demande votre aide sinon je vais devenir fou
    Le pire c'est que je suis sûr que c'est une erreur bête...

    Voici l'erreur :
    Warning: Package Body created with compilation errors.
    Errors for PACKAGE BODY JOUEURS:

    90/1 PL/SQL: SQL Statement ignored
    90/22 PL/SQL: ORA-00933: SQL command not properly ended

    Voici la zone de mon code ou se trouve l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    	WHEN idJoueur_mj THEN
    		DBMS_OUTPUT.PUT_LINE ('Le joueur est referencé dans matchJoueur, il est impossible de le supprimer' );
    		retour := 2;
     
    	END suppression ;
     
     
     
     
     
    	--Procedure affichage
    	PROCEDURE affichage (pIdJoueur joueur.idJoueur%TYPE, retour OUT NUMBER) IS 
     
    	--Variable de traitement                    <-- Ligne de l'erreur
    	v_test		VARCHAR (15) ;
    	v_joueur 	joueur%ROWTYPE ;
    	v_club		equipe.club%TYPE ;
     
     
    	BEGIN
     
    		--Test si le joueur existe
    		SELECT idJoueur INTO v_test FROM joueur WHERE idJoueur = pIdJoueur;
    Dites moi si vous souhaitez voir la totalité du code.
    Merci d'avance.

  2. #2
    Membre éclairé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Par défaut
    Je pense qu'il nous faut le package body en entier.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut
    Le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
     
    CREATE OR REPLACE PACKAGE joueurs  AS
    --Procédure ajout
    PROCEDURE ajout  (pIdJoueur joueur.idJoueur%TYPE, pNomJoueur joueur.nomJoueur%TYPE, pIdEq equipe.idEq%TYPE, retour OUT NUMBER) ;
     
    --Procedure suppression
    PROCEDURE suppression (pIdJoueur joueur.idJoueur%TYPE, retour OUT NUMBER) ;
     
    --Procedure affichage
    PROCEDURE affichage (pIdJoueur joueur.idJoueur%TYPE, retour OUT NUMBER) ;
    END joueurs ;
    /
     
    CREATE OR REPLACE PACKAGE BODY joueurs AS
     
    --Procédure ajout
    PROCEDURE ajout  (pIdJoueur joueur.idjoueur%TYPE, pNomJoueur joueur.nomJoueur%TYPE, pIdEq equipe.idEq%TYPE, retour OUT NUMBER) IS
    --Variable de traitement
    v_test		VARCHAR (15) ;
    --Exceptions
    idJoueur_present	EXCEPTION;
    PRAGMA EXCEPTION_INIT (idJoueur_present, -00001);
     
    BEGIN
    -- Test si l’équipe existe
    SELECT idEq INTO v_test FROM equipe WHERE idEq = pIdEq;
     
    	--Insertion du joueur
    INSERT INTO joueur VALUES (pIdJoueur, pNomJoueur, 'o', pIdEq, 0, 0, 0);
     
    DBMS_OUTPUT.PUT_LINE ('Ajout du joueur  ' || pIdJoueur ||' '|| pNomJoueur || ' effectué dans la table joueur');
    DBMS_OUTPUT.PUT_LINE ('Transaction effectuée' );
    retour := 0;
     
    EXCEPTION
     
    WHEN idJoueur_present THEN
    DBMS_OUTPUT.PUT_LINE ('L''identifiant du joueur existe déjà' );
    retour := 1;
     
    WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE ('L''équipe est inconnue' );
    retour := 2;
     
    END  ajout ;
     
     
     
    --Procedure suppression
    PROCEDURE suppression (pIdJoueur joueur.idjoueur%TYPE, retour OUT NUMBER)  IS
    --Variable de traitement
    v_test		VARCHAR (15) ;
    --Exceptions
    idJoueur_mj	EXCEPTION;
    PRAGMA EXCEPTION_INIT (idJoueur_mj, -02292);
     
    BEGIN
     
    	--Test si le joueur existe
    SELECT idJoueur INTO v_test FROM joueur WHERE idJoueur = pIdJoueur;
     
    --Suppression du joueur
    DELETE FROM joueur WHERE idJoueur = pIdJoueur ;
     
    DBMS_OUTPUT.PUT_LINE ('Le joueur ' || pIdJoueur || ' a bien été supprimé de la table joueur' );
    DBMS_OUTPUT.PUT_LINE ('Transaction effectuée' );
    retour := 0;
     
    EXCEPTION
     
    WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE ('Le joueur est inconnu' );
    retour := 1;
     
    WHEN idJoueur_mj THEN
    DBMS_OUTPUT.PUT_LINE ('Le joueur est referencé dans matchJoueur, il est impossible de le supprimer' );
    retour := 2;
     
     
    END suppression ;
     
    --Procedure affichage
    PROCEDURE affichage (pIdJoueur joueur.idJoueur%TYPE, retour OUT NUMBER) IS 
     
    --Variable de traitement
    v_test		VARCHAR (15) ;
    v_joueur 	joueur%ROWTYPE ;
    v_club		equipe.club%TYPE ;
     
     
    BEGIN
     
    --Test si le joueur existe
    SELECT idJoueur INTO v_test FROM joueur WHERE idJoueur = pIdJoueur;
     
    --Affichage du joueur
    SELECT * FROM joueur INTO v_joueur WHERE idJoueur = pIdJoueur;
    DBMS_OUTPUT.PUT_LINE ('Joueur ' || v_joueur.idJoueur || ' : ');
    DBMS_OUTPUT.PUT_LINE ('Nom : ' || v_joueur.nomJoueur);
    IF v_joueur.estValide = 'o' THEN
    	DBMS_OUTPUT.PUT_LINE ('Valide');
    ELSE
    	DBMS_OUTPUT.PUT_LINE ('Invalide');
    END IF;
    SELECT club INTO v_club FROM equipe WHERE idEq = v_joueur.idEq;
    DBMS_OUTPUT.PUT_LINE ('Equipe : ' || v_club || '(' || v_joueur.idEq || ')');
    DBMS_OUTPUT.PUT_LINE ('Total points marqués : ' || v_joueur.totalPoints);
    DBMS_OUTPUT.PUT_LINE ('Nombre de matchs joués : ' || v_joueur.nbMatchs);
    DBMS_OUTPUT.PUT_LINE ('Temps de jeu total : ' || v_joueur.totalTemps);
    retour := 0;
     
    EXCEPTION 
     
    	WHEN NO_DATA_FOUND THEN 
    DBMS_OUTPUT.PUT_LINE ('Le joueur est inconnu' );
    retour := 1;
     
     
    END affichage ;
     
     
    END joueurs ;
    /
    SHOW ERROR

  4. #4
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM joueur INTO v_joueur WHERE idJoueur = pIdJoueur;
    clause from et into inversée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * INTO v_joueur FROM joueur  WHERE idJoueur = pIdJoueur;

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut
    Ok merci beaucoup.
    Je savais bien que ça serait une erreur bête

    Merci plaineR.

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

Discussions similaires

  1. jsp : erreur dans une partie de code non executée
    Par julien20vt dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 04/05/2010, 10h00
  2. [Tomcat] configuration d'une page d'erreur dans web.xml
    Par Super Castor dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 08/04/2009, 15h58
  3. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59
  4. [Erreur dans la lib...]
    Par Gonath dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/12/2003, 09h02
  5. Erreur dans l'utilisation de SWAP
    Par mire dans le forum Langage
    Réponses: 12
    Dernier message: 15/03/2003, 21h39

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