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 :

Create Package Body PKG_CUR retourne une erreur


Sujet :

PL/SQL Oracle

  1. #1
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut Create Package Body PKG_CUR retourne une erreur
    Bonjour

    je veux créer un package qui me retourne une table : en soit le select peut se suffire à lui même mais j'aimerai comprendre pourquoi ,
    ce simple create package copie de multiple exemple du net retourne une erreur .

    La base est Oracle 12.1
    La table nomme existe sur le schema utilisée


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        CREATE OR REPLACE PACKAGE BODY PKG_CUR
        IS
        FUNCTION Get_Raws RETURN TYP_REC_EMP
        IS
        tab DONNEES_FICHIERS;
        Begin
        -- Populate the collection --
        Select * Into tab from DONNEES_FICHIERS ;
        -- Return the collection --
        RETURN tab ;
        End ;
        END PKG_CUR ;
     
        /
    VOila ce que me retourne SQL DEV lorsque je lance ce code


    Erreur: PL/SQL: Compilation unit analysis terminated
    Erreur(1,14): PLS-00201: l'identificateur 'PKG_CUR' doit être déclaré
    Erreur(1,14): PLS-00304: impossible de compiler le corps de 'PKG_CUR' sans sa spécification
    la dernière erreur découle de la premier mais PKG_CUR n'est pas un indicateur ? c'est l'identifiant ne nom du package a créer.

    MErci pour vos explications

  2. #2
    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
    Bonjour,

    Peux-tu formater ton code avec la balise code (l'icone #) ?

    En fait tu déclares un BODY sans avoir de SPEC

    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
     
    CREATE OR REPLACE PACKAGE PKG_CUR
    AS
     FUNCTION Get_Raws RETURN TYP_REC_EMP;
    END PKG_CUR;
    /
     
    CREATE OR REPLACE PACKAGE BODY PKG_CUR
    IS
    FUNCTION Get_Raws RETURN TYP_REC_EMP
    IS
    tab DONNEES_FICHIERS;
    Begin
    -- Populate the collection --
    Select * Into tab from DONNEES_FICHIERS ;
    -- Return the collection --
    RETURN tab ;
    End ;
    END PKG_CUR ;
    En fait, c'est la seconde erreur qui était importante
    PLS-00304: cannot compile body of 'PKG_CUR' without its specification
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut suite
    Je viens peux -être de comprendre

    Un package est un module de programmes incluant procédures et / ou fonctions fonctionnellement dépendantes.
    Un package est composé de 2 parties :
    - la spécification (introduite par ‘CREATE PACKAGE’) liste les entêtes de procédures et fonctions contenues dans le package.
    La zone déclarative
    - le corps du package (introduit par ‘CREATE PACKAGE BODY’) qui contient le code effectif des procédures et fonctions déclarées précédemment.
    La zone comportant le code

  4. #4
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut suite
    je lis divers docs sur pl-sql & Oracle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE OR REPLACE PACKAGE nompackage IS
    /*
    d e c l a r a t i o n s
    */
    Ici le terme de déclaration se limite a Quoi?
    Est-ce uniquement la définition des fonctions et ou procédure déifnit dans le corps du package ?
    Ou doit on y déclare
    les variables
    les types
    LEs tableaux ...

    ou doit on déclarer les variables que l'on souhaite utiliser dans les fonctions et procédures ?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    /*
    */
    END nomPackage ;
    /

    Si je veux utiliser dans la corps du package pour des calcul des opérations divers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    CREATE OR REPLACE PACKAGE BODY nompackage IS
    /*
    implementation
    */
    END nomPackage ;
    /

  5. #5
    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
    La partie Spec est une partie déclarative des tout ce qui est accessible par un utilisateur (fonctions, procédures, variables, etc..)
    La partie Body est la partie interne (code des fonctions, procédures, etc...)

    Tu peux très bien avoir une fonction "interne" au package (c'est à dire uniquement dans le body), cette fonction ne pourra pas être appelée de l'extérieur (par MON_PACKAGE.MAFONCTION)
    Quand aux variables au niveau Spec, elles sont partagées par tout le package et même pour toute la session de l'utilisateur. Donc les variables locales aux procédures sont à coder dans les procédures, pas dans le package.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  6. #6
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut QUId
    Citation Envoyé par McM Voir le message
    La partie Spec est une partie déclarative des tout ce qui est accessible par un utilisateur (fonctions, procédures, variables, etc..)
    La partie Body est la partie interne (code des fonctions, procédures, etc...)

    Tu peux très bien avoir une fonction "interne" au package (c'est à dire uniquement dans le body), cette fonction ne pourra pas être appelée de l'extérieur (par MON_PACKAGE.MAFONCTION)
    Quand aux variables au niveau Spec, elles sont partagées par tout le package et même pour toute la session de l'utilisateur. Donc les variables locales aux procédures sont à coder dans les procédures, pas dans le package.
    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
     
     CREATE OR REPLACE PACKAGE PKG_NOM
    AS
     
      LN$V_DFI_NOM_FICHIER_CFT  DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE;
      LN$V_DFI_NOM_FICHIER_SEUL DONNEES_FICHIERS.DFI_NOM_FICHIER_SEUL%TYPE;
      LN$DFI_ID  DONNEES_FICHIERS.DFI_ID%Type   ;
     
     FUNCTION fic_es 
    ( PARM_DFI_NOM_FICHIER_CFT   in DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE ,
      PARM_TYPE_NORME   in DONNEES_FICHIERS.DEN_VERSION_NORME%TYPE,
      PARM_NORME in DONNEES_ENTITES.DEN_REFERENCE_NORME%TYPE
     ) return  DONNEES_FICHIERS.DFI_ID%TYPE;
     
    END PKG_NOM;
    /
     
    CREATE OR REPLACE PACKAGE BODY  PKG_NOM
     
      FUNCTION fic_es 
    ( PARM_DFI_NOM_FICHIER_CFT   in DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE ,
      PARM_TYPE_NORME   in DONNEES_FICHIERS.DEN_VERSION_NORME%TYPE,
      PARM_NORME in DONNEES_ENTITES.DEN_REFERENCE_NORME%TYPE
     
      )  V_DFI_ID DONNEES_FICHIERS.DFI_ID%TYPE;
    begin 
      LN$V_DFI_NOM_FICHIER_CFT := concat( trim(PARM_DFI_NOM_FICHIER_CFT) ,'%');
      LN$V_DFI_NOM_FICHIER_SEUL  := concat('%' , trim(V_DFI_NOM_FICHIER_CFT));  
      LN$V_DFI_NOM_FICHIER_SEUL  :=concat(PARM_TYPE_NORME , trim(V_DFI_NOM_FICHIER_CFT));  
      LN$V_DFI_NOM_FICHIER_SEUL  := concat('%' , trim(V_DFI_NOM_FICHIER_CFT));   
      select dfi_id into V_DFI_ID
        from DONNEES_FICHIERS  
        where DFI_NOM_FICHIER_CFT like  V_DFI_NOM_FICHIER_CFT
        and dfi_nom_fichier_seul like V_DFI_NOM_FICHIER_SEUL;
       return( V_DFI_ID);
    end  
     
    END PKG_NOM;
     
    /


    ou est l'erreur?

    Erreur(3,3): PLS-00103: Symbole "FUNCTION" rencontré à la place d'un des symboles suivants : is as compress compiled wrapped Symbole "is" a été substitué à "FUNCTION" pour continuer.
    Erreur(4,33): PLS-00103: Symbole "DONNEES_FICHIERS" rencontré à la place d'un des symboles suivants : ( Symbole "(" a été substitué à "DONNEES_FICHIERS" pour continuer.
    Erreur(5,24): PLS-00103: Symbole "DONNEES_FICHIERS" rencontré à la place d'un des symboles suivants : ( Symbole "(" a été substitué à "DONNEES_FICHIERS" pour continuer.
    Erreur(6,17): PLS-00103: Symbole "DONNEES_ENTITES" rencontré à la place d'un des symboles suivants : ( Symbole "(" a été substitué à "DONNEES_ENTITES" pour continuer.
    Erreur(8,6): PLS-00103: Symbole "V_DFI_ID" rencontré à la place d'un des symboles suivants : ) , and or
    Erreur(21,1): PLS-00103: Symbole "END" rencontré à la place d'un des symboles suivants : ; <identificateur> <identificateur entre guillemets> current delete exists prior <une chaîne SQL entre apostrophes>

    Les variables s’appuient sur des tables existant dans le schema

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Ajoute AS sur la ligne 19, ça devrait améliorer les choses
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut suite
    Effectivement c'est mieux

    mais pas encore

    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
    create or replace PACKAGE PKG_NOM
    AS 
     
      LN$V_DFI_NOM_FICHIER_CFT  DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT;
      LN$V_DFI_NOM_FICHIER_SEUL DONNEES_FICHIERS.DFI_NOM_FICHIER_SEUL%TYPE;
      LN$DFI_ID  DONNEES_FICHIERS.DFI_ID%Type   ;
     
     FUNCTION fic_es 
    ( PARM_DFI_NOM_FICHIER_CFT   in DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE ,
      PARM_TYPE_NORME   in DONNEES_FICHIERS.DEN_VERSION_NORME%TYPE,
      PARM_NORME in DONNEES_ENTITES.DEN_REFERENCE_NORME%TYPE
     ) return  DONNEES_FICHIERS.DFI_ID%TYPE;
     
    END PKG_NOM;
    /
     
    create or replace PACKAGE BODY  PKG_NOM as
     
      FUNCTION fic_es 
    ( PARM_DFI_NOM_FICHIER_CFT   in DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE ,
      PARM_TYPE_NORME   in DONNEES_FICHIERS.DEN_VERSION_NORME%TYPE,
      PARM_NORME in DONNEES_ENTITES.DEN_REFERENCE_NORME%TYPE
     
      ) return V_DFI_ID is DONNEES_FICHIERS.DFI_ID%TYPE;
    begin 
      LN$V_DFI_NOM_FICHIER_CFT := concat( trim(PARM_DFI_NOM_FICHIER_CFT) ,'%');
      LN$V_DFI_NOM_FICHIER_SEUL  := concat('%' , trim(V_DFI_NOM_FICHIER_CFT));  
      LN$V_DFI_NOM_FICHIER_SEUL  :=concat(PARM_TYPE_NORME , trim(V_DFI_NOM_FICHIER_CFT));  
      LN$V_DFI_NOM_FICHIER_SEUL  := concat('%' , trim(V_DFI_NOM_FICHIER_CFT));   
      select dfi_id into V_DFI_ID
        from DONNEES_FICHIERS  
        where DFI_NOM_FICHIER_CFT like  V_DFI_NOM_FICHIER_CFT
        and dfi_nom_fichier_seul like V_DFI_NOM_FICHIER_SEUL;
       return( V_DFI_ID);
    end ;
     
    END PKG_NOM;

    Erreur(8,40): PLS-00103: Symbole "." rencontré à la place d'un des symboles suivants : constant exception <identificateur> <identificateur entre guillemets> table long double ref char time timestamp interval date binary national character nchar Symbole "<identificateur>" a été substitué à "." pour continuer.

    pourquoi cette erreur.?


    Si je modifie dans le corps du package la ligne return de la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      FUNCTION fic_es 
    ( PARM_DFI_NOM_FICHIER_CFT   in DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE ,
      PARM_TYPE_NORME   in DONNEES_FICHIERS.DEN_VERSION_NORME%TYPE ,
      PARM_NORME in DONNEES_ENTITES.DEN_REFERENCE_NORME%TYPE
      ) return V_DFI_ID;
    Erreur(21,1): PLS-00103: Symbole "END" rencontré



    je vois bien que le problème est semble t'il lié à cette portion de code mais QUid ! je sèche.

  9. #9
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut package
    J'ajoute dans la phase déclarative du package une définition d'un type OBJET est la

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    TYPE NOE_NUERG AS OBJECT (
    	NOE_NUR   char(6) ,
    	NOE_GRM   char(2) ,
    	NOE_ORG   char(3) ,
    	NOE_CEN   char(3)
    	);
    Erreur(12,40): PLS-00103: Symbole "." rencontré à la place d'un des symboles suivants : constant exception <identificateur> <identificateur entre guillemets> table long double ref char time timestamp interval date binary national character nchar Symbole "<identificateur>" a été substitué à "." pour continuer.

  10. #10
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut est dire que j'y est cru ........
    Comme quoi sqldev4.0 peut avoir d'étrange réaction

    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
    create or replace PACKAGE PKG_NOM
    AS
     
     
     FUNCTION fic_es 
    ( PARM_DFI_NOM_FICHIER_CFT      VARCHAR2 , 
      PARM_TYPE_NORME      VARCHAR2 ,
      PARM_NORME    VARCHAR2  
     ) return  number;
     
     
    END PKG_NOM;
    /
     
    create or replace PACKAGE BODY  PKG_NOM as
     
      LN$V_DFI_NOM_FICHIER_CFT  varchar2(250);
      LN$V_DFI_NOM_FICHIER_SEUL  varchar2(250);
      LN$DFI_ID  number(12,0);
     
      FUNCTION fic_es 
    ( PARM_DFI_NOM_FICHIER_CFT   in DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE ,
      PARM_TYPE_NORME   in DONNEES_FICHIERS.DEN_VERSION_NORME%TYPE,
      PARM_NORME in DONNEES_ENTITES.DEN_REFERENCE_NORME%TYPE
     
      ) return V_DFI_ID is DONNEES_FICHIERS.DFI_ID%TYPE;
    begin 
     LN$V_DFI_NOM_FICHIER_CFT := concat( trim(PARM_DFI_NOM_FICHIER_CFT) ,'%');
     LN$V_DFI_NOM_FICHIER_SEUL  := concat('%' , trim(LN$V_DFI_NOM_FICHIER_CFT ));  
     LN$V_DFI_NOM_FICHIER_SEUL  :=concat(PARM_TYPE_NORME , trim( LN$V_DFI_NOM_FICHIER_SEUL ));  
     LN$V_DFI_NOM_FICHIER_SEUL  := concat('%' , trim( LN$V_DFI_NOM_FICHIER_SEUL ));   
     
     select dfi_id into V_DFI_ID
        from DONNEES_FICHIERS  
        where DFI_NOM_FICHIER_CFT like  V_DFI_NOM_FICHIER_CFT
        and dfi_nom_fichier_seul like V_DFI_NOM_FICHIER_SEUL;
       return( V_DFI_ID);
    end ;
     
    END PKG_NOM;

    Erreur(12,40): PLS-00103: Symbole "." rencontré à la place d'un des symboles suivants : constant exception <identificateur> <identificateur entre guillemets> table long double ref char time timestamp interval date binary national character nchar Symbole "<identificateur>" a été substitué à "." pour continuer.

  11. #11
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut
    trouve

    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
    
    
    --------------------------------------------------------
     CREATE OR REPLACE FUNCTION  FIC_ES (
        P_DFI_NOM_FICHIER_CFT DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE ,
    	P_TYN_CODE_TYPE_NORME DONNEES_ENTITES.TYN_CODE_TYPE_NORME%TYPE ,
    	P_DEN_VERSION_NORME DONNEES_ENTITES.DEN_VERSION_NORME%TYPE ,
        P_DEN_REFERENCE_NORME DONNEES_ENTITES.DEN_REFERENCE_NORME%TYPE ,
        P_MUTUELLE DONNEES_ENTITES.MUT_NUMERO_ORIGINE%TYPE
    ) RETURN   number
    is 
    begin 
     declare 
       V_DFI_NOM_FICHIER_CFT DONNEES_FICHIERS.DFI_NOM_FICHIER_CFT%TYPE;
       V_DFI_NOM_FICHIER_SEUL DONNEES_FICHIERS.DFI_NOM_FICHIER_SEUL%TYPE;  
       V_DFI_ID  DONNEES_FICHIERS.DFI_ID%TYPE; 
    
    begin 
    V_DFI_NOM_FICHIER_SEUL  := concat( '%' ,P_MUTUELLE);
     V_DFI_NOM_FICHIER_SEUL  := concat( V_DFI_NOM_FICHIER_SEUL ,V_DFI_NOM_FICHIER_CFT  ); 
    
     select dfi_id into V_DFI_ID
        from DONNEES_FICHIERS  
        where DFI_NOM_FICHIER_CFT like  V_DFI_NOM_FICHIER_CFT
        and dfi_nom_fichier_seul like  V_DFI_NOM_FICHIER_SEUL;
       return( V_DFI_ID);
       end;
    end ;
    /
    pourquoi ne peut on pas dans le return de déclaration utilisé une association forte avec un type extrait de la base de données

Discussions similaires

  1. shell retourne une erreur
    Par nymus7 dans le forum Langage
    Réponses: 3
    Dernier message: 07/08/2008, 18h03
  2. [MySQL] requete qui retourne une erreur a l'execution
    Par naazih dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/05/2008, 12h59
  3. Requete SQL qui retourne une erreur
    Par gregal dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/03/2008, 23h05
  4. Réponses: 8
    Dernier message: 05/02/2008, 11h35
  5. [MSSQL 2005] Retourner une erreure dans une SP
    Par Danny Blue dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/08/2006, 08h19

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