À maintes reprises, j'ai vu des gens ici et ailleurs préconiser l'évitement des extensions non-portables au langage SQL, this étant le dernier exemple. Je me souviens d'un seul article qui dit ce que je vais dire, et je n'ai plus ce lien.Comment est-il nécessaire ou pratique d'écrire du SQL portable?
Avez-vous réellement bénéficié de l'écriture de SQL portable et du rejet des outils/syntaxes propriétaires de votre dialecte?
Je n'ai jamais vu un cas de quelqu'un qui prend des douleurs pour construire une application complexe sur mysql et puis dire Vous savez ce qui serait juste Peachy? Passons à (PostGreSQL | Oracle | SQL Server)!
Les bibliothèques communes dans -say- PHP font abstraction des subtilités de SQL, mais à quel prix? Vous finissez par être incapable d'utiliser des constructions et des fonctions efficaces, pour une lueur présumée de portabilité que vous n'utiliserez probablement jamais. Cela me ressemble comme un manuel YAGNI.
EDIT: Peut-être l'exemple je l'ai mentionné est trop sarcastique, mais je pense que le point reste: si vous envisagez un déménagement d'un SGBD à l'autre, vous redessinent probablement l'application de toute façon, ou vous ne seriez pas le faire du tout.
Je trouve cela n'est pas vrai, sauf si vous attendez plusieurs versions expirées du logiciel à améliorez votre base de données. La plupart des fournisseurs de bases de données se mettent en quatre pour assurer la rétrocompatibilité. Si ce n'était pas le cas, personne ne mettrait à niveau car les données sont critiques pour l'entreprise. – HLGEM
Cela s'applique à l'utilisation à long terme, en effet. En général, les entreprises ne mettent tout simplement pas à niveau leurs économies, pour éviter les temps d'arrêt ou simplement parce que la mise à niveau ne résout aucun de leurs problèmes. Il n'est pas inhabituel de toujours voir SQL Server 2000 dans la nature! Ou Oracle 8. Là encore, cela signifie également que ces entreprises existent depuis plus de 5 à 10 ans ... –
Ok, mais avez-vous wheigh l'avantage que ces extensions vous ont donné? –