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 :

Procédure stockée en Oracle 10g


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4
    Par défaut Procédure stockée en Oracle 10g
    Bonjour, je suis débutant en Oracle et je travaille avec Oracle 10g edition entreprise R2, je veux faire une base de données de gestion d'une école, alors une idée m'a traversé la tête,
    après avoir fini de créer les tables, je ne voulais pas pour chaque insertion de données utiliser la commande <<insert into table>>, donc j'ai voulu écrire des procédures stockées pour ça, et ça ne marche pas on me dit procédure créée avec erreurs de compilation
    exemple: regardez cette procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE OR REPLACE PROCEDURE saisir(id t_eleve.id%type,nom t_eleve.nom%type,prenom t_eleve.prenom%type) IS
    BEGIN
    -----t_eleve est la table eleve
    insert into t_eleve(id,nom,prenom) values
    (id,nom,prenom);
    commit;
    end;
    /
    dès que je tape entrée ici, on me dit procédure créée avec erreur de compilation.
    Merci de me venir en aide.

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Sous sqlplus faire show err pour voir les erreurs. Ou utilisez un environnement de développement comme SQL Developper.

  3. #3
    McM
    McM est déconnecté
    Expert confirmé

    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
    Billets dans le blog
    4
    Par défaut
    Petit conseil plsql : évitez de nommer des paramètres avec les mêmes noms que les colonnes.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par McM Voir le message
    Petit conseil plsql : évitez de nommer des paramètres avec les mêmes noms que les colonnes.
    Actuellement je le fais d'une manière systématique, c'est à dire: le nom du paramètre est le même que la colonne à laquelle il corresponde. Adieu les _i les _o les _p ou quoi j'en sais encore.

  5. #5
    McM
    McM est déconnecté
    Expert confirmé

    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
    Billets dans le blog
    4
    Par défaut
    Et comment fais tu pour les select, update, pour différencier les colonnes des paramètres ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE OR REPLACE PROCEDURE Maproc (dummy IN varchar2)
    IS
     v varchar2(1);
    BEGIN
     SELECT dummy INTO v FROM dual WHERE dummy = dummy;
    	RAISE_APPLICATION_ERROR(-20001, 'resultat:'|| v);
    END;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    exec Maproc('a'); 
    -- X
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    exec Maproc(NULL); 
    -- X

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Comme ça
    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
     
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 
    Connected as mni
     
    SQL> 
    SQL> CREATE OR REPLACE PROCEDURE Maproc (dummy IN varchar2)
      2  IS
      3   v varchar2(1);
      4  BEGIN
      5   SELECT t.dummy
      6     INTO v
      7     FROM sys.dual t
      8    WHERE t.dummy = Maproc.dummy;
      9    RAISE_APPLICATION_ERROR(-20001, 'resultat:'|| v);
     10  END;
     11  /
     
    Procedure created
     
    SQL> exec Maproc('a'); 
     
    begin Maproc('a'); end;
     
    ORA-01403: aucune donnée trouvée
    ORA-06512: à "MNI.MAPROC", ligne 5
    ORA-06512: à ligne 2
     
    SQL> exec Maproc(NULL); 
     
    begin Maproc(NULL); end;
     
    ORA-01403: aucune donnée trouvée
    ORA-06512: à "MNI.MAPROC", ligne 5
    ORA-06512: à ligne 2
     
    SQL> exec Maproc('X');
     
    begin Maproc('X'); end;
     
    ORA-20001: resultat:X
    ORA-06512: à "MNI.MAPROC", ligne 9
    ORA-06512: à ligne 2
     
    SQL>

Discussions similaires

  1. Réponses: 11
    Dernier message: 27/07/2012, 09h37
  2. [AC-2007] resultat d'une procédure stockée sur oracle
    Par Vyl.Coyot dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/05/2010, 13h37
  3. procédure stocké d'oracle
    Par saadoz dans le forum BIRT
    Réponses: 2
    Dernier message: 13/11/2009, 18h07
  4. Creer un procédure Stocké sous oracle
    Par ouadie99 dans le forum C#
    Réponses: 2
    Dernier message: 27/05/2008, 18h35
  5. Executer procédure stockée base oracle ADOStoredProc
    Par Akei dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/06/2004, 08h46

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