Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
B.M
Probablement vous faites reference a une mecanique de recursivité qui est supporté seulement par la prochaine version de SQL server qui sortira au debut de novembre. Si vous connaissez a l'avance le nombre de niveau de hierarchie vous pouvez "joinner" la meme table autant de fois que votre max hierarchie, sinon on utilisant un cursor et une table temporarire
"Fabrice BILLARD" wrote in message news:
Bonjour,
Existe-il un moyen de faire une requête sur une hiérarchie comme oracle sait le faire (select ... from ... start with ... connect by ... prior ...).
Merci d'avance
Probablement vous faites reference a une mecanique de recursivité qui est
supporté seulement par la prochaine version de SQL server qui sortira au
debut de novembre.
Si vous connaissez a l'avance le nombre de niveau de hierarchie vous pouvez
"joinner" la meme table autant de fois que votre max hierarchie, sinon on
utilisant un cursor et une table temporarire
"Fabrice BILLARD" <FabriceBILLARD@discussions.microsoft.com> wrote in
message news:E3C6D17F-135D-4922-A8FA-4CBDEE2757EB@microsoft.com...
Bonjour,
Existe-il un moyen de faire une requête sur une hiérarchie comme oracle
sait
le faire (select ... from ... start with ... connect by ... prior ...).
Probablement vous faites reference a une mecanique de recursivité qui est supporté seulement par la prochaine version de SQL server qui sortira au debut de novembre. Si vous connaissez a l'avance le nombre de niveau de hierarchie vous pouvez "joinner" la meme table autant de fois que votre max hierarchie, sinon on utilisant un cursor et une table temporarire
"Fabrice BILLARD" wrote in message news:
Bonjour,
Existe-il un moyen de faire une requête sur une hiérarchie comme oracle sait le faire (select ... from ... start with ... connect by ... prior ...).
Merci d'avance
Fred BROUARD
Bonjour
Deux techniques sont disponibles :
1) Dans SLQ Server 2005, le CTE permet des requêtes récursives à la norme SQL:1999. Lire l'article que j'ai écrit en anglais sur le sujet : http://www.sqlservercentral.com/columnists/fBROUARD/recursivequeriesinsql1999andsqlserver2005.asp et qui va paraître dans SQL Server Magazine en français
Voir aussi : http://sqlpro.developpez.com/SQL_Server_2K5/N1.php § 1.5 Écriture des expressions de table
2) Sinon, pour SQL Server 2000, modélisez votre arbre sous forme intervallaire. Il n'y aura plus de problème d'écriture de requête récursive et c'est même plus performant que le CTE ! A lire : http://sqlpro.developpez.com/cours/arborescence/
Fabrice BILLARD a écrit:
Bonjour,
Existe-il un moyen de faire une requête sur une hiérarchie comme oracle sait le faire (select ... from ... start with ... connect by ... prior ...).
start with ... connect by ... prior... n'existe pas en SQL. C'est propre à Oracle et très limité !
Merci d'avance
A + -- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Bonjour
Deux techniques sont disponibles :
1)
Dans SLQ Server 2005, le CTE permet des requêtes récursives à la norme SQL:1999.
Lire l'article que j'ai écrit en anglais sur le sujet :
http://www.sqlservercentral.com/columnists/fBROUARD/recursivequeriesinsql1999andsqlserver2005.asp
et qui va paraître dans SQL Server Magazine en français
Voir aussi :
http://sqlpro.developpez.com/SQL_Server_2K5/N1.php
§ 1.5 Écriture des expressions de table
2)
Sinon, pour SQL Server 2000, modélisez votre arbre sous forme intervallaire. Il
n'y aura plus de problème d'écriture de requête récursive et c'est même plus
performant que le CTE !
A lire : http://sqlpro.developpez.com/cours/arborescence/
Fabrice BILLARD a écrit:
Bonjour,
Existe-il un moyen de faire une requête sur une hiérarchie comme oracle sait
le faire (select ... from ... start with ... connect by ... prior ...).
start with ... connect by ... prior... n'existe pas en SQL. C'est propre à
Oracle et très limité !
Merci d'avance
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
1) Dans SLQ Server 2005, le CTE permet des requêtes récursives à la norme SQL:1999. Lire l'article que j'ai écrit en anglais sur le sujet : http://www.sqlservercentral.com/columnists/fBROUARD/recursivequeriesinsql1999andsqlserver2005.asp et qui va paraître dans SQL Server Magazine en français
Voir aussi : http://sqlpro.developpez.com/SQL_Server_2K5/N1.php § 1.5 Écriture des expressions de table
2) Sinon, pour SQL Server 2000, modélisez votre arbre sous forme intervallaire. Il n'y aura plus de problème d'écriture de requête récursive et c'est même plus performant que le CTE ! A lire : http://sqlpro.developpez.com/cours/arborescence/
Fabrice BILLARD a écrit:
Bonjour,
Existe-il un moyen de faire une requête sur une hiérarchie comme oracle sait le faire (select ... from ... start with ... connect by ... prior ...).
start with ... connect by ... prior... n'existe pas en SQL. C'est propre à Oracle et très limité !
Merci d'avance
A + -- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Fred
Dans le message:, Fabrice BILLARD écrit:
Bonjour,
Bonjour,
Existe-il un moyen de faire une requête sur une hiérarchie comme oracle sait le faire
Regarde dans l'aide Transact SQL à la rubrique CREATE FUNCTION Tu as un exemple, à la fin, qui fait (à peu de choses près) ce que tu veux.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans le message:E3C6D17F-135D-4922-A8FA-4CBDEE2757EB@microsoft.com,
Fabrice BILLARD écrit:
Bonjour,
Bonjour,
Existe-il un moyen de faire une requête sur une hiérarchie comme
oracle sait le faire
Regarde dans l'aide Transact SQL à la rubrique CREATE FUNCTION
Tu as un exemple, à la fin, qui fait (à peu de choses près) ce que tu
veux.