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 :

PL/SQL Déclaration Curseur


Sujet :

Oracle

  1. #1
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut PL/SQL Déclaration Curseur
    Bonjour,

    Je me tourne vers vous parce que je suis entrain de m'arracher les cheveux...
    Je veux créer une procédure en PL utilisant un curseur, mais pas moyen de la compiler correctement. Voici le code de base :
    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
    CREATE OR REPLACE PROCEDURE BO.ALIM_PLANAP_ECH IS
    DECLARE
        v_corg VARCHAR2(2 BYTE);
        v_compte VARCHAR2(11 BYTE);
        v_bail NUMBER(2);
        v_plan NUMBER(2);
        v_lddeb DATE;
        v_ldfin DATE;
        v_duree NUMBER(4);
        v_nb NUMBER(9,2);
        CURSOR tmp_det_plans IS
            SELECT p.CORG,p.CCOMPTE,p.NOBAIL,p.NOPLAN,last_day(p.DDEB) AS LDDEB,last_day(p.DFIN) AS LDFIN,p.NB,months_between(last_day(p.DFIN),last_day(p.DDEB)) AS DUREE
            FROM PLANRAT@DB_EELOGI p;
        BEGIN
            EXECUTE IMMEDIATE('TRUNCATE TABLE BO.PLANAP_ECH');
            OPEN temp_det_plans;
            FETCH temp_det_plans INTO v_corg, v_compte, v_bail, v_plan, v_lddeb, v_ldfin, v_duree, v_nb;
            FOR i IN 0..v_duree LOOP
                INSERT INTO BO.PLANAP_ECH
                SELECT
                    v_corg,
                    v_compte,
                    v_bail,
                    decode(length(v_bail),2,v_corg||v_compte||'0'||v_bail,v_corg||v_compte||v_bail),
                    v_plan,
                    to_number(to_char(add_months(v_lddeb,i),'yyyy')),
                    to_number(to_char(add_months(v_lddeb,i),'mm')),
                    add_months(v_lddeb,i),
                    v_nb,
                    v_corg||v_compte
                 FROM DUAL;
            END LOOP;
        END;
    A la compilation, j'ai l'erreur :
    ERROR line 3, col 12, ending_line 3, ending_col 19, Found 'VARCHAR2', Expecting: ( . @ -or- % -or- .. := DEFAULT NOT NULL -or- ;
    Je ne comprends pas pourquoi...

    Si je retire mon instruction "DECLARE", ça passe au niveau des variables. Par contre j'ai l'erreur :
    PLS-00201: identifier 'TEMP_DET_PLANS' must be declared
    Celle là je la comprends mieux...

    Mais si, du coup, je place mon DECLARE après mes variables, avant mon "CURSOR", j'ai l'erreur suivante :
    ERROR line 11, col 12, ending_line 11, ending_col 24, Found 'tmp_det_plans', Expecting: ( . @ -or- % -or- .. := DEFAULT NOT NULL -or- ;
    Alors, je ne pige plus rien...

    C'est sûrement évident mais comme je débute en PL j'ai un peu de mal...

    EDIT : Tant que j'y suis, si quelqu'un peut me dire comment boucler mon FETCH pour qu'il aille jusqu'à EOF...
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Pas de DECLARE dans une procédure.
    Pour les problèmes de syntaxe, ce serait bien que tu te débrouille tout seul

  3. #3
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    J'ai repiqué la syntaxe à partir d'un onglet "Scripts" sous TOAD où il n'y a pas de 'S' à 'BYTE'.

    J'ai essayé malgré tout mais ça ne change rien à mon erreur.
    J'avais d'ailleurs essayé avec %ROWTYPE mais même erreur.
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  4. #4
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    Pas de DECLARE dans une procédure.
    Cela veut-il dire qu'il faut que je déclare obligatoirement mon curseur dans un package ???
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    c'est DECLARE le problème

  6. #6
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    c'est DECLARE le problème
    OK, mais si je le vire j'ai l'erreur :
    PLS-00201: identifier 'TEMP_DET_PLANS' must be declared
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  7. #7
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    regarde la syntaxe avec un FOR, ça simplifiera le code. Il y a un tuto très bien fait sur ce site

  8. #8
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    Merci pour l'info, je suis allé voir le tuto et ai changé mon code :
    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
    CREATE OR REPLACE PROCEDURE BO.ALIM_PLANAP_ECH IS
        v_corg VARCHAR2(2 BYTE);
        v_compte VARCHAR2(11 BYTE);
        v_bail NUMBER(2);
        v_plan NUMBER(2);
        v_lddeb DATE;
        v_ldfin DATE;
        v_duree NUMBER(4);
        v_nb NUMBER(9,2);
     
        BEGIN
            EXECUTE IMMEDIATE('TRUNCATE TABLE BO.PLANAP_ECH');
            OPEN temp_det_plans FOR 'SELECT p.CORG,p.CCOMPTE,p.NOBAIL,p.NOPLAN,last_day(p.DDEB) AS LDDEB,last_day(p.DFIN) AS LDFIN,p.NB,months_between(last_day(p.DFIN),last_day(p.DDEB)) AS DUREE
            FROM PLANRAT@DB_EELOGI p';
            FETCH temp_det_plans INTO v_corg, v_compte, v_bail, v_plan, v_lddeb, v_ldfin, v_duree, v_nb;
            FOR i IN 0..v_duree LOOP
                INSERT INTO BO.PLANAP_ECH
                SELECT
                    v_corg,
                    v_compte,
                    v_bail,
                    decode(length(v_bail),2,v_corg||v_compte||'0'||v_bail,v_corg||v_compte||v_bail),
                    v_plan,
                    to_number(to_char(add_months(v_lddeb,i),'yyyy')),
                    to_number(to_char(add_months(v_lddeb,i),'mm')),
                    add_months(v_lddeb,i),
                    v_nb,
                    v_corg||v_compte
                 FROM DUAL;
            END LOOP;
        END;
    Mais malgré ça, même erreur :
    PLS-00201: identifier 'TEMP_DET_PLANS' must be declared
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  9. #9
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PLS-00201: identifier 'TEMP_DET_PLANS' must be declared
    Le monsieur te demande de déclarer ta variable !!!

  10. #10
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    Merci tu m'aides beaucoup

    Sache que je sais encore lire et que si tu avais pris la peine de lire le fil de la conversation, ou ne serait ce que le titre de la discussion, tu aurais compris que ça je le savais déjà. C'est comment faire qui me pose problème.

    Alors maintenant si c'est la politesse qui t'ecorches, tu peux te garder tes réponses!
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  11. #11
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        type gencurtyp is ref cursor;
        temp_det_plans GenCurTyp ;
    Et si tu rajoutes ceci ?

  12. #12
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    Merci pour cette réponse ci.
    Je testerai dès demain matin
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  13. #13
    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
    Il est possible d'utiliser un curseur sans le déclarer au préalable avec FOR, c'est ce qu'Orafrance vous invitait à trouver sur les tutoriaux du site.

  14. #14
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par TomDuBouchon Voir le message
    Merci tu m'aides beaucoup

    Sache que je sais encore lire et que si tu avais pris la peine de lire le fil de la conversation, ou ne serait ce que le titre de la discussion, tu aurais compris que ça je le savais déjà. C'est comment faire qui me pose problème.
    C'est parfait de savoir lire, c'est encore mieux d'essayer de comprendre.

    Dans ton code :
    Citation Envoyé par TomDuBouchon Voir le message
    Merci pour l'info, je suis allé voir le tuto et ai changé mon code :
    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
    CREATE OR REPLACE PROCEDURE BO.ALIM_PLANAP_ECH IS
        v_corg VARCHAR2(2 BYTE);
        v_compte VARCHAR2(11 BYTE);
        v_bail NUMBER(2);
        v_plan NUMBER(2);
        v_lddeb DATE;
        v_ldfin DATE;
        v_duree NUMBER(4);
        v_nb NUMBER(9,2);
     
        BEGIN
            EXECUTE IMMEDIATE('TRUNCATE TABLE BO.PLANAP_ECH');
            OPEN temp_det_plans FOR 'SELECT p.CORG,p.CCOMPTE,p.NOBAIL,p.NOPLAN,last_day(p.DDEB) AS LDDEB,last_day(p.DFIN) AS LDFIN,p.NB,months_between(last_day(p.DFIN),last_day(p.DDEB)) AS DUREE
            FROM PLANRAT@DB_EELOGI p';
            FETCH temp_det_plans INTO v_corg, v_compte, v_bail, v_plan, v_lddeb, v_ldfin, v_duree, v_nb;
            FOR i IN 0..v_duree LOOP
                INSERT INTO BO.PLANAP_ECH
                SELECT
                    v_corg,
                    v_compte,
                    v_bail,
                    decode(length(v_bail),2,v_corg||v_compte||'0'||v_bail,v_corg||v_compte||v_bail),
                    v_plan,
                    to_number(to_char(add_months(v_lddeb,i),'yyyy')),
                    to_number(to_char(add_months(v_lddeb,i),'mm')),
                    add_months(v_lddeb,i),
                    v_nb,
                    v_corg||v_compte
                 FROM DUAL;
            END LOOP;
        END;
    Mais malgré ça, même erreur :
    je ne vois pas la déclaration de temp_det_plans

    Encore une fois, regarde la syntaxe avec FOR LOOP si tu veux t'affranchir de la déclaration du curseur.

  15. #15
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    Bonjour,

    @Jerome_Mtl : Merci pour cette info, ma compilation est bien passée dès lors que j'ai placé cette déclaration.

    @Waldar : S'il s'agit du point ci-dessous, c'est ce que j'ai essayé de faire (cf 2e version de mon code) mais il le moteur a malgré tout râlé lors de la compilation.
    1.2.3. OPEN FOR
    Ouverture d'un curseur SQL incluant l'ordre select correspondant.
    La déclaration préalable du curseur dans la section déclarative n'est pas nécessaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Declare LC$Nom_emp EMP.ENAME%Type ; 
    Begin Open C_EMP For 'Select ename From EMP Where empno = 1024' ; 
    Fetch C_EMP Into LC$Nom_emp ; 
    Close C_EMP ; 
    End ;
    @Tous : Merci pour votre aide
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  16. #16
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Je pensais plus à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            FOR record IN (SELECT p.CORG,p.CCOMPTE,p.NOBAIL,p.NOPLAN,last_day(p.DDEB) AS LDDEB,last_day(p.DFIN) AS LDFIN,p.NB,months_between(last_day(p.DFIN),last_day(p.DDEB)) AS DUREE
            FROM PLANRAT@DB_EELOGI p) LOOP

  17. #17
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    C'est parfait de savoir lire, c'est encore mieux d'essayer de comprendre.
    C'est pourtant bien ce que j'essaie de faire.

    regarde la syntaxe avec FOR LOOP si tu veux t'affranchir de la déclaration du curseur.
    J'ai parcouru le tutoriel, et s'il s'agit du point ci-dessous, il y a la mention "DECLARE" dont tu m'as dit qu'elle ne passerait pas dans une procédure....

    1.2.13. FOR (curseur)
    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
    SQL> Declare
      2     -- Déclaration du curseur
      3     CURSOR C_EMP IS
      4     Select
      5        *
      6     From
      7        EMP
      8     Where
      9        job = 'CLERK'
     10     ;
     11  
     12  Begin
     13     For Cur IN C_EMP Loop
     14       dbms_output.put_line( To_char( Cur.empno ) || ' - ' || Cur.ename ) ;
     15     End loop ;
     16  End ; 
     17  /
    7369 - SMITH
    7876 - ADAMS
    7900 - JAMES
    7934 - MILLER
    Procédure PL/SQL terminée avec succès.

    EDIT :
    Je pensais plus à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FOR record IN (SELECT p.CORG,p.CCOMPTE,p.NOBAIL,p.NOPLAN,last_day(p.DDEB) AS LDDEB,last_day(p.DFIN) AS LDFIN,p.NB,months_between(last_day(p.DFIN),last_day(p.DDEB)) AS DUREE
            FROM PLANRAT@DB_EELOGI p) LOOP
    OK, merci celle-là je me la garde sous le coude
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  18. #18
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    dans une procédure stockée la partie DECLARE est entre la ligne CREATE et le BEGIN

    DECLARE est requis dans un programme PL/SQL exécuté immédiatement, pas dans du code stocké

    soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE maprocedure AS 
    v_toto number;
    BEGIN
     SELECT 1 INTO v_toto FROM dual;
    END;
    /
    soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DECLARE
    v_toto number;
    BEGIN
     SELECT 1 INTO v_toto FROM dual;
    END;
    /

  19. #19
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    Un grand merci à tous pour toute ces infos
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

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

Discussions similaires

  1. [PL/SQL] Déclaration de curseur
    Par pepin21 dans le forum SQL
    Réponses: 2
    Dernier message: 25/09/2006, 15h32
  2. [Oracle 8i][PL/SQL] Exceptions & Curseur
    Par Bahan dans le forum Oracle
    Réponses: 3
    Dernier message: 31/08/2006, 16h34
  3. [PL-SQL] contenu curseur
    Par pitre dans le forum Oracle
    Réponses: 9
    Dernier message: 17/08/2006, 15h25
  4. Réponses: 6
    Dernier message: 12/02/2006, 08h31
  5. Réponses: 5
    Dernier message: 23/02/2005, 09h43

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