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 ?
Réponses
Trop de publicités?*=
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).
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.