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 :

Création procédure


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
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut Création procédure
    bonjour

    j'ai un probleme avec la creation d'une procedure avec Sql sous oracle 10g, franchement je comprend pas il est ou le probleme voila ce que j'ai fait :
    une procedure la plus simple possible :

    code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE or replace PROCEDURE testeAPI IS 
    BEGIN
    select * from gamme_piece;
    END;
    /
    alors il créée la procédure mais avec une erreur de compilation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Avertissement : Procédure créée avec erreurs de compilation.
    et quand je veux executé ma procedure j'ai cette erreur là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> execute testeAPI;
    BEGIN testeAPI; END;
     
          *
    ERREUR à la ligne 1 :
    ORA-06550: Ligne 1, colonne 7 :
    PLS-00905: l'objet BTPI.TESTEAPI n'est pas valide
    ORA-06550: Ligne 1, colonne 7 :
    PL/SQL: Statement ignored

    si qu'elle qu'un peut me dire il est ou le probleme ça serai vraiment sympa

    merci pour votre aide d'avance.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    On ne peut pas mettre de requête comme ça dans un bloc PL.
    Vous pouvez par contre écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE OR REPLACE PROCEDURE testeAPI IS 
    BEGIN
        EXECUTE IMMEDIATE 'SELECT * FROM gamme_piece';
    END;
    /
    Mais soyez conscient qu'en l'état ça ne sert à rien, puisqu'il n'y ni action ni affichage qui soit demandé.

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    ahhh ok merci bcp pour votre réponse

    mais enfaite pourquoi en voie pas le résultat de la requette Select ?? est ce que y a une instruction pour demander l'affichage du resultat a l'écrant,

    enfaite moi j'aurai besoin de cette procédure pour le moment juste pour faire des testes d'appel a cette procedure apres je vais créer une autre procédure pour faire des changements sur la base de données.

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Oui tout à fait, il faut utiliser le package SYS.DBMS_OUTPUT pour faire de l'affichage !

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Oui tout à fait, il faut utiliser le package SYS.DBMS_OUTPUT pour faire de l'affichage !
    c'est pas trop claire pour le package SYS.DBMS_OUTPUT je le connais pas !!

    Stp est ce que tu peut me dire comment l'utilisé dans la procédure précedente pour avoir l'affichage.!!!!

    merci

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BEGIN
        dbms_output.put_line('Hello world');
        dbms_output.put_line('Il est ' || to_char(sysdate, 'hh24:mi'));
    END;

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/05/2008, 20h47
  2. création procédure stockée
    Par Alex35 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 17/10/2007, 13h16
  3. création procédure stocké
    Par morados dans le forum C#
    Réponses: 2
    Dernier message: 23/07/2007, 09h48
  4. Problème Création Procédure
    Par Yndigos dans le forum Oracle
    Réponses: 6
    Dernier message: 08/07/2006, 09h02
  5. [db2][Procedure]Pb de création procédure
    Par yoyopi dans le forum DB2
    Réponses: 1
    Dernier message: 28/04/2006, 15h11

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