Più volte, ho visto persone qui e altrove che sostengono l'evitamento di estensioni non proporzionali al linguaggio SQL, this è l'ultimo esempio. Ricordo solo un articolo che afferma ciò che sto per dire e non ho più quel collegamento.Quanto è necessario o conveniente scrivere SQL portatile?
Hai mai tratto vantaggio dalla scrittura di SQL portatile e dal rifiuto degli strumenti/sintassi proprietari del tuo dialetto?
Non ho mai visto un caso in cui qualcuno si prendesse cura di costruire un'applicazione complessa su mysql e poi dicendo: Sai cosa sarebbe solo peachy? Passiamo a (PostGreSQL | Oracle | SQL Server)!
Le librerie comuni in -say- PHP fanno astrazione delle complessità di SQL, ma a quale costo? Finisci per non essere in grado di usare costrutti e funzioni efficienti, per un presunto barlume di portabilità che probabilmente non userai mai. Questo suona come YAGNI da manuale.
EDIT: Forse l'esempio che ho citato è troppo snarky, ma penso che il punto rimane: se si sta progettando una mossa da un DBMS ad un altro, è probabile che ridisegnare l'applicazione in ogni caso, o si potrebbe non essere farlo affatto.
Trovo che questo non è vero a meno che non si attende per diverse versioni scaduti relativa al software aggiorna il tuo database. La maggior parte dei fornitori di database fa di tutto per garantire la retrocompatibilità. Se non l'avessero fatto nessuno lo aggiornerebbe mai visto che i dati sono critici per l'azienda. – HLGEM
Si applica all'utilizzo a lungo termine, infatti. In generale, le aziende semplicemente non aggiornano per risparmiare sulle spese, per evitare tempi di inattività o semplicemente perché l'aggiornamento non risolve nessuno dei loro problemi. Non è raro vedere ancora SQL Server 2000 in the wild! O Oracle 8. Quindi, anche questo significa che quelle aziende esistono da più di 5-10 anni ... –
Ok, ma hai avuto il vantaggio di quelle estensioni che ti davano? –