Alexander (HH): SQL "Codingstandard"

Beitrag lesen

Moin Moin!

Eines kann man sich abschminken: zu glauben, man könne portables SQL schreiben.

Man kann, wenn man nicht alles in SQL lösen muß, mit einheitlichen SQL-Statements recht weit kommen.

Eines meiner alten Projekte konnte Oracle, MS SQL Server und PostgreSQL in fast allen Fällen mit dem selben SQL-Statement benutzen. Einzig für INSERTs mit automatisch vergebenen IDs war etwas Extra-Arbeit nötig, den hat aber ein sehr dünner Layer über DBI erledigt. Eine große Hilfe ist natürlich auch DBI selbst, das für einheitliche Schnittstellen zu den verschiedenen Datenbanken sorgt.

Man muß sich das Portieren ja auch nicht unnötig schwer machen, indem man alle propritären Extras der jeweiligen Datenbank ausreizt. Dazu gehört z.B., dass man Identifier bei MySQL eben nicht mit Backticks quotet. Datumsfunktionen sind auch nicht eben schick, ich hab mich in dem Projekt dadurch herausgewieselt, dass die Datenbank nur einen großen Integer der Unix-Zeit gespeichert hat, und die ganze Umwandlung von und nach Datum/Uhrzeit in der Anwendung stattfand.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".