Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Membre du Club
    Inscrit en
    mars 2007
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 254
    Points : 46
    Points
    46

    Par défaut CONNECT BY : résultat faux ?

    Bonjour
    J'ai installé l'extension pour utiliser la fonction connectby.
    J'ai aussi testé l'exemple figurant dans la doc (cf. test_connectby.png ci-joint).

    Je n'arrive pas à expliquer le résultat.
    Pourquoi :
    - row1, row3 et row7 n'y figurent pas
    - le parent_keyid de row2 est <null> et non 'row1' ?


    Merci d'avance de votre aide
    Images attachées Images attachées

  2. #2
    Membre du Club
    Inscrit en
    mars 2007
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 254
    Points : 46
    Points
    46

    Par défaut

    Bonjour
    Est-ce que quelqu'un arrive à expliquer le résultat ?
    S'agit-il d'un bug ?

    Merci

  3. #3
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 036
    Points : 4 611
    Points
    4 611

    Par défaut

    Bonjour,

    Pour le problème spécifique à ce package aucune idée.
    Par contre vous pouvez arrivé à un résultat identique en utilisant une CTE / requete recursive :http://sqlpro.developpez.com/cours/s...te-recursives/

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro Frédéric BROUARD
    Expert SGBDR & SQL
    Inscrit en
    mai 2002
    Messages
    13 397
    Détails du profil
    Informations personnelles :
    Nom : Homme Frédéric BROUARD
    Localisation : France

    Informations professionnelles :
    Activité : Expert SGBDR & SQL
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 13 397
    Points : 27 539
    Points
    27 539

    Par défaut

    CONECT BY est une merde imbitable qu'Oracle à finit par abandonné au profit de la norme SQL qui précise comment faire des requêtes récursives avec des CTE.
    À me lire : http://sqlpro.developpez.com/cours/s...te-recursives/
    L'utilisation d'une extension propriétaire d'Oracle sur une base PostGreSQL dont le maniement est connu pour être particulièrement anti-performant et qui plus est, doté d'une syntaxe perverse, relève du pure masochisme !
    Préférez aller vous défouler dans une boite échangiste cuir !!! ;-)

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
    http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    décembre 2002
    Messages
    2 820
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : décembre 2002
    Messages : 2 820
    Points : 4 325
    Points
    4 325

    Par défaut

    Citation Envoyé par SQLpro Voir le message
    CONECT BY est une merde imbitable qu'Oracle à finit par abandonné ...
    Le CONNECT BY d'Oracle rend de fiers services depuis au moins 20 ans à ceux qui se sont donné la peine de le comprendre, et il n'est absolument pas abandonné.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro Frédéric BROUARD
    Expert SGBDR & SQL
    Inscrit en
    mai 2002
    Messages
    13 397
    Détails du profil
    Informations personnelles :
    Nom : Homme Frédéric BROUARD
    Localisation : France

    Informations professionnelles :
    Activité : Expert SGBDR & SQL
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 13 397
    Points : 27 539
    Points
    27 539

    Par défaut

    Tu oublie qu'il n'est pas capable de faire des requêtes récursives dans des graphes; Il sert tout juste aux arborescences !
    Avec une syntaxe propriétaire imbitable que le comité de normalisation du SQL a rejeté dans la norme SQL:1999 c'est à dire il y a 13 ans !!! 'entre nous sache que le rapporteur du comité de normalisation de SQL est Jim Melton et qu'il est aussi le principal conseillé technique d'Oracle !!!!!!!!!

    Je sais que tu aimes bien ton Oracle, mais faut pas pousser !!!

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
    http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    décembre 2002
    Messages
    2 820
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : décembre 2002
    Messages : 2 820
    Points : 4 325
    Points
    4 325

    Par défaut

    Je sais que tu aimes bien taper sur Oracle, mais faut pas pousser !

    Je ne dis pas que le CONNECT BY est parfait ; il a sans doute des défauts, et indubitablement des insuffisances.
    Encore faut-il l'attaquer avec des arguments pertinents.

    Imbitable ? Comme tout ce qui n'est pas de compréhension immédiate, et demande un peu d'effort. Le SQL est plein de choses imbitables si tu veux aller par là.

    Syntaxe propriétaire ? En toute généralité, c'est l'argument vide par excellence. Mais quand on ajoute que le CONNECT BY est apparu avant toute norme SQL, comment voudrais-tu qu'il s'y conformât ?
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro Frédéric BROUARD
    Expert SGBDR & SQL
    Inscrit en
    mai 2002
    Messages
    13 397
    Détails du profil
    Informations personnelles :
    Nom : Homme Frédéric BROUARD
    Localisation : France

    Informations professionnelles :
    Activité : Expert SGBDR & SQL
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 13 397
    Points : 27 539
    Points
    27 539

    Par défaut

    Citation Envoyé par Pomalaix Voir le message
    Syntaxe propriétaire ? En toute généralité, c'est l'argument vide par excellence.
    En tout cas c'est un point noir connu depuis longtemps chez oracle. Même lorsque la norme sortait des choses nouvelles; Oracle implémentait autrement, sans doute du fait de l'égo surdimensionné du sieur Ellison !
    Aux gens qui lui reprochait cela, Larry répondait invariablement... Le SQL, c'est moi !

    Affligeant... Heureusement depuis l'an 2000, cette politique a changé.

    Mais quand on ajoute que le CONNECT BY est apparu avant toute norme SQL, comment voudrais-tu qu'il s'y conformât ?
    Mais alors comment expliquer pourquoi IBM DB2 qui proposait des avancées dans SQL et les implémentait dans DB2, avant que le comité de normalisation statue dessus les voyait quasiment systématiquement retenues ?

    L'explication est en fait assez simple. La norme est faite par les industriels et les discussions s'établissent régulièrement (tables rondes à l'époque mensuelles). Chacun montrait le travail et cours, ce qui orientait le travail des autres.
    Encore une fois l'égo de Larry Ellison a fait que l'on a préféré faire du proprio merdique plutôt que de se fondre dans le moule commun... À l'époque ça a été bénéfique parce que cela empêchait les gens de partir d'Oracle (trop de récritures de requêtes). Maintenant c'est l'inverse... Pourquoi investir dans du cher et du complexe ???

    NOTA : à l'époque de l'apparition du CONNECT BY / PRIOR (dans les années 90) il y avait déjà des discussions sur les CTE et le récursivité... et si mes souvenirs sont exacts c'est même Jim Melton qui a demandé a ce que l'on rajoute à la norme les options DEPTH FIRST BY ... et BREADTH FIRTS BY ... pour la faire ressembler à leur truc...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
    http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •