Philipp Hasenfratz: "standard-konformes" SQL für DB-Abstraktion

Beitrag lesen

Halihallo Andreas

Halt, halt. Ich wollte nicht sagen, dass es dies in anderen DBMS nicht gibt; sondern
nur anmerken, dass die Syntax anders aussieht.
Das ist fast genauso schlimm wie "gibts nicht", denn sowas verhindert eine wirkliche Abstraktion von der Datenbank.

Ja, das ist leider wahr. Darüber bin ich genauso unglücklich.

Ich denke ich muss PEAR::DB mal etwas näher unter die Lupe nehmen, denn wechen Sinn hätte so ein Abstraktions-Layer, wenn man damit keinen wirklich halbwegs global verwendbaren SQL-Code schreiben könnte!

Nun, es geht ja darum eine genau spezifizierte Schnittstelle zu erstellen, um den
Umgang mit den Datenbanken einheitlich zu lösen und nicht für jeden DatenbankManager
ein anderes Modul oder was auch immer laden zu müssen. Was PEAR::DB und DBI für Perl
nicht können, ist eine unabhängige SQL-Syntax zu definieren und umzusetzen...

Aber zur Not gibt es da ja noch ein Package, das SEL-Querys aus ich glaube irgenwelchen Arrays die man übergibt generiert, da sollte das vielleicht besser funkitonieren

Ja, ich habe davon gelesen. Über den Namen kann man dann auf ein bestimmter Query
schliessen, welche wie ein Template funktionieren... Glaube, das habe ich mal auf-
geschnappt. Theoretisch müsste man dann für jeden SQL-Dialekt-"Kategorien" einen
eigenen Query definieren...

Du sprichst von einem DB-Layer und
von MySQL, PostgreSQL und evtl. noch andere; deshalb habe ich dich darauf hingewiesen.

Ja, wie ist das denn jetzt? Kann ich bei den genannten eine gemeinsame Syntax für Alias verwenden?

PostgreSQL und MySQL verwenden beide die " table AS alias " Syntax. Probleme gibt's
z. B. IMHO mit MS SQL Server.

SELECT B.foo_id, A.bar_id FROM foo A, bar B
gibt's z. B. auch.
Ja, aber ich will im Code mich nicht um verschiedene Datenbank-abhängigen SQL-Versionen kümmern müssen!

Naja, bei PostgreSQL und MySQL geht's ja schon. Und wer was anderes will, muss halt
ändern... leider...

Viele Grüsse

Philipp