2 votes

Conversion des *= et =* spécifiques à Sybase ASE en LEFT/RIGHT OUTER JOIN

J'ai quelques applications PHP fonctionnant sur Sybase ASE 15.0.2, et je dois les porter sur MicroSoft SQL Server 2008 R2. Beaucoup de requêtes utilisent la syntaxe Sybase uniquement avec *= and =* Existe-t-il un moyen automatique de convertir une requête de la syntaxe Sybase à la syntaxe standard en utilisant LEFT/RIGHT OUTER JOIN ?

3voto

Diego Points 13953

*= indique une jointure externe gauche

=* indique une jointure externe droite

donc

select * 
from tableA, titleauthor
where tableA.ID *= titleauthor.ID 

signifie

select * 
from tableA left join titleauthor
on tableA.ID = titleauthor.ID 

Je ne pense pas que vous trouverez un outil qui le fera automatiquement pour vous. Même si c'est simple, cela peut devenir délicat et un processus automatisé ne serait pas fiable à 100% (je pense).

0voto

MobyBrown Points 1

Pour les futurs problèmes de conversion rencontrés par d'autres (nous passons de SAP ASE 16.0 à SQL Server 2016), il suffit de sélectionner la requête dans SSMS, d'exécuter CTRL+SHIFT+Q pour ouvrir le concepteur de requêtes. Cela permettra de convertir la norme ANSI de SQL Server dans la mesure du possible.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X