UPGRADE ADVISOR

Le
Jean-Nicolas BERGER
Bonjour,
Dans le cadre d'une migration SQL2000 vers SQL2005, j'ai un souci avec la
liste des problèmes potentiels détectés par l'Upgrade Advisor.

Sur des syntaxes comme celle-ci :
SELECT A as x, B as y FROM MaTable t ORDER BY t.x
SQL 2000 va passer, SQL2005 va bloquer, mais l'Advisor va détecter le cas.

Par contre, sur des syntaxes comme celle-là :
SELECT A,B,A FROM MaTable ORDER BY A
SQL 2000 va passer, SQL2005 va bloquer, mais l'Advisor ne va y voir que du
feu !!! :-(

Quelqu'un pourrait-il éclairer ma lanterne sur ce que semble être des
lacunes de l'Advisor, avec éventuellement d'autres syntaxes obsolètes qu'il
ne détecterait pas ?

Merci d'avance pour votre aide.
JN
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SQLpro
Le #14503481
Cette syntaxe est nullement obsolète...
SELECT A,B,A FROM MaTable ORDER BY A
Elle fait le produit cartésien des tables A, B et A, le 2e A étant
uneseconde instance de la même table A. Ceci est parfiatement autorisé
en SQL....

A +

On 9 juil, 14:34, Jean-Nicolas BERGER
Bonjour,
Dans le cadre d'une migration SQL2000 vers SQL2005, j'ai un souci avec la
liste des problèmes potentiels détectés par l'Upgrade Advisor.

Sur des syntaxes comme celle-ci :
SELECT A as x, B as y FROM MaTable t ORDER BY t.x
SQL 2000 va passer, SQL2005 va bloquer, mais l'Advisor va détecter le c as.

Par contre, sur des syntaxes comme celle-là :
SELECT A,B,A FROM MaTable ORDER BY A
SQL 2000 va passer, SQL2005 va bloquer, mais l'Advisor ne va y voir que d u
feu !!! :-(

Quelqu'un pourrait-il éclairer ma lanterne sur ce que semble être des
lacunes de l'Advisor, avec éventuellement d'autres syntaxes obsolètes qu'il
ne détecterait pas ?

Merci d'avance pour votre aide.
JN


Jean-Nicolas BERGER
Le #14625091
> Cette syntaxe est nullement obsolète...
SELECT A,B,A FROM MaTable ORDER BY A



Bonjour,
Dans le cas présent, A et B sont des colonnes de la table MaTable.
Et je confirme que la syntaxe est acceptée en SQL2000 et refusée en SQL2005.
Il y a donc bien un problème non détecté par l'Advisor...

Cordialement.
JN
Patrice
Le #14638031
Intéressant, de mon côté je ne m'attendais pas non plus à ce que l'Advisor
détecte tout et rien à signaler (le peu que j'ai fait sans l'Advisor) mais
je garde ce cas en mémoire pour les suivantes un peu plus "trappues".

Peut-être un coup de connect.microsoft.com pour voir si le problème est
reporté ? Il est indiqué également dans les "breaking changes" ?

--
Patrice

"Jean-Nicolas BERGER" dans le message de groupe de discussion :

Bonjour,
Dans le cadre d'une migration SQL2000 vers SQL2005, j'ai un souci avec la
liste des problèmes potentiels détectés par l'Upgrade Advisor.

Sur des syntaxes comme celle-ci :
SELECT A as x, B as y FROM MaTable t ORDER BY t.x
SQL 2000 va passer, SQL2005 va bloquer, mais l'Advisor va détecter le cas.

Par contre, sur des syntaxes comme celle-là :
SELECT A,B,A FROM MaTable ORDER BY A
SQL 2000 va passer, SQL2005 va bloquer, mais l'Advisor ne va y voir que du
feu !!! :-(

Quelqu'un pourrait-il éclairer ma lanterne sur ce que semble être des
lacunes de l'Advisor, avec éventuellement d'autres syntaxes obsolètes
qu'il
ne détecterait pas ?

Merci d'avance pour votre aide.
JN


Steve Kass
Le #14858241
Jean-Nicolas,

Dans votre 1ère requête, [x] n'est pas une colonne de la table [t].
Dans SQL Server 2000, il y avait une bogue ou dans
ORDER BY les noms des table n'avait aucun effêt. Donc le syntax
n'est pas obsolète, c'est incorrect.

Par exemple, SQL Server 2000 ne trouve pas l'erreur dans

SELECT A, B
FROM MaTable
ORDER BY JeanNicolasBerger.A

Steve Kass
Drew University
http://www.stevekass.com


Jean-Nicolas BERGER wrote:

Bonjour,
Dans le cadre d'une migration SQL2000 vers SQL2005, j'ai un souci avec la
liste des problèmes potentiels détectés par l'Upgrade Advisor.

Sur des syntaxes comme celle-ci :
SELECT A as x, B as y FROM MaTable t ORDER BY t.x
SQL 2000 va passer, SQL2005 va bloquer, mais l'Advisor va détecter le cas.

Par contre, sur des syntaxes comme celle-là :
SELECT A,B,A FROM MaTable ORDER BY A
SQL 2000 va passer, SQL2005 va bloquer, mais l'Advisor ne va y voir que du
feu !!! :-(

Quelqu'un pourrait-il éclairer ma lanterne sur ce que semble être des
lacunes de l'Advisor, avec éventuellement d'autres syntaxes obsolètes qu'il
ne détecterait pas ?

Merci d'avance pour votre aide.
JN




Fred BROUARD
Le #16317551
Jean-Nicolas BERGER a écrit :
Cette syntaxe est nullement obsolète...
SELECT A,B,A FROM MaTable ORDER BY A





Pardon, j'ai lu un peu vite....

Vous avez raison, mais par principe aucune colonne ne devrait avoir le
même nom, y compris dans des requêtes SELECT.

A +


Bonjour,
Dans le cas présent, A et B sont des colonnes de la table MaTable.
Et je confirme que la syntaxe est acceptée en SQL2000 et refusée en SQL2005.
Il y a donc bien un problème non détecté par l'Advisor...

Cordialement.
JN




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Publicité
Poster une réponse
Anonyme