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 :

Forms 9i : CURSOR "SELECT 1, (SELECT..&q


Sujet :

Oracle

  1. #1
    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 [Résolu]Forms 9i : CURSOR "SELECT 1, (SELECT..&q
    Dans forms_builder 9i,
    je crée un trigger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DECLARE
    CURSOR c IS 
    SELECT 1, (SELECT 2 FROM DUAL)
    FROM DUAL;
    BEGIN
     NULL;
    END;
    J'ai l'erreur ERROR 103 Encountered SELECT expecting one of ( .bla bla ..

    Sur Metalink j'ai trouvé un post la dessus de 2003 ID : 359950.996 d'un gars ayant eu le même problème et ayant un TAR, mais je n'ai pas trouvé de solution à ce problème.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Attention, la version PL/SQL de forms n'est pas la même que celle d'Oracle (le noyau), il est donc fort probable qu'un SELECT ne soit pas autorisé en lieu et place d'une colonne

  3. #3
    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
    En effet, même un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 1, (SELECT 2 FROM DUAL) INTO v1, v2 FROM DUAL;
    ne marche pas dans le corps du trigger !!

    Je ne savais pas que Forms avait son propre interpréteur de SQL et que certains trucs ne marchaient donc pas.
    Comment c'est possible qu'ils fassent des versions de développement non compatibles avec les versions Oracle
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    c'est du PL/SQL un peu spécifique à forms... sous Oracle GET_BLOCK_PROPERTY n'a aucun sens

  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
    Oui, c'est vrai
    Bon, je vais faire mes SELECT dans le cursor... Raaaa, mon côté Optimiseur aime pô ça.

    Question : Sous Forms 10g c'est pareil ?
    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
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    aucune idée

    Mais je crains que ce soit pas super optimisé de faire un SELECT dans les colonnes

  7. #7
    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
    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
    DECLARE
    CURSOR C IS
    SELECT idcontrat
    FROM TCONTRAT
    WHERE ROWNUM < 50000;
     
    CURSOR C2 IS
    SELECT idcontrat, (SELECT SUM(mthtsai) FROM TMISSION WHERE cn_idcontrat = idcontrat)
    FROM TCONTRAT
    WHERE ROWNUM < 50000;
     
     
    v_mis NUMBER;
    BEGIN
     
    	DBMS_OUTPUT.PUT_LINE('DEB:' || TO_CHAR(SYSDATE, 'SSSSS'));
     
    	FOR r IN c 
    	LOOP
    		SELECT SUM(mthtsai) INTO v_mis 
    		FROM TMISSION WHERE cn_idcontrat = r.idcontrat;
    	END LOOP;
     
    	DBMS_OUTPUT.PUT_LINE('FIN1:' || TO_CHAR(SYSDATE, 'SSSSS'));
     
    	FOR r IN c2 
    	LOOP
    		NULL;
    	END LOOP;
     
    	DBMS_OUTPUT.PUT_LINE('FIN2:' || TO_CHAR(SYSDATE, 'SSSSS'));
     
    END;
    DEB:60023
    FIN1:60031
    FIN2:60033


    Flagrant, non ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    et pourquoi pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT cn_idcontrat, SUM(mthtsai) FROM TMISSION GROUP BY cn_idcontrat

  10. #10
    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
    paske c'est un exemple... Tu veux la requete complète ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

Discussions similaires

  1. select in (select in (select in etc.))
    Par Christophe P. dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/01/2015, 11h34
  2. Réponses: 6
    Dernier message: 20/11/2007, 11h14
  3. flexgrid:selection cellule=selection ligne
    Par Terminator dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/10/2005, 21h27
  4. [forms] ref cursor associé à un bloc de données
    Par plaineR dans le forum Forms
    Réponses: 9
    Dernier message: 27/08/2004, 18h26

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