Précédent   Forum du club des développeurs et IT Pro > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/08/2012, 10h43   #1
msomso
Membre du Club
 
Inscription : 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
Type de fichier : png test_connectby.png (16,6 Ko, 20 affichages)
msomso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2012, 12h02   #2
msomso
Membre du Club
 
Inscription : mars 2007
Messages : 254
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 254
Points : 46
Points : 46
Bonjour
Est-ce que quelqu'un arrive à expliquer le résultat ?
S'agit-il d'un bug ?

Merci
msomso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2012, 12h24   #3
punkoff
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 2 161
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 2 161
Points : 3 496
Points : 3 496
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/
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2012, 17h28   #4
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 104
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 : 12 104
Points : 21 738
Points : 21 738
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 * * * * *
SQLpro est actuellement connecté   Envoyer un message privé Réponse avec citation 01
Vieux 23/09/2012, 01h02   #5
Pomalaix
Rédacteur
 
Inscription : décembre 2002
Messages : 2 653
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 653
Points : 4 127
Points : 4 127
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 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 14h22   #6
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 104
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 : 12 104
Points : 21 738
Points : 21 738
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 * * * * *
SQLpro est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 01h13   #7
Pomalaix
Rédacteur
 
Inscription : décembre 2002
Messages : 2 653
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 653
Points : 4 127
Points : 4 127
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 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 18h11   #8
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 104
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 : 12 104
Points : 21 738
Points : 21 738
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é.

Citation:
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 * * * * *
SQLpro est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h15.


 
 
 
 
Partenaires

Hébergement Web