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

Requêtes PostgreSQL Discussion :

CONNECT BY : résultat faux ?


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 254
    Points : 80
    Points
    80
    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 régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 254
    Points : 80
    Points
    80
    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é
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    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
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    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
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    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

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    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
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    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

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    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
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. calcul entre réels et résultat faux
    Par loukoum82 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/12/2009, 14h40
  2. Résultats faux avec Rechdom
    Par Amstra dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/04/2009, 16h16
  3. Réponses: 5
    Dernier message: 18/01/2007, 10h09
  4. Réponses: 1
    Dernier message: 08/04/2006, 11h41
  5. [BDE][PARADOX][D7]Filter et RecordCount = résultat faux
    Par N1bus dans le forum Bases de données
    Réponses: 2
    Dernier message: 15/10/2004, 21h15

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