Diskussion:MySQL Unterscheidung von Groß- u. Kleinschreibung in Tabellennamen

Aus GEVITAS
Version vom 7. Februar 2013, 22:02 Uhr von Gevitas (Diskussion | Beiträge) (Hinweis)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Hinweis

Normalerweise wird eine Abfrage von REFLEX an die Datenbank abhängig von der SQL-Datenbank-Einstellung in der INI-Datei von REFLEX angepasst.

  • Bei mySQL werden alle Tabellennamen in der Abfrage in Kleinbuchstaben umgewandelt.
  • Bei ORACLE© werden alle Tabellennamen in der Abfrage in Großbuchstaben umgewandelt. ORACLE© verlangt, dass die Tabellennamen so verwendet werden.
  • Bei Microsoft SQL Server© ist die Angabe des Tabellennamens egal, es werden Groß- und Kleinbuchstaben akzeptiert. Der Grund liegt darin, dass Tabellen bei Microsoft SQL Server© keine Dateien sind, sondern Verweise auf Tabellen, die in einer Datenbank-Datei gespeichert werden.

Wenn es zu einer Fehlermeldung kommt, kann das zwei Ursachen haben:

  1. Der Programmierer hat vergessen, den Tabellennamen einer Abfrage entsprechend zu kennzeichnen. Der Kernel in REFLEX erkennt somit nicht, dass/wo es in der Abfrage einen Tabellennamen gibt und setzt diesen nicht in Klein- oder Großbuchstaben.
  2. Bei komplexen Abfragen mit mehreren Tabellen muss der Programmierer für jeden Tabellennamen der Abfrage einen sog. Alias-Namen vergeben. Das ist ein relativ komplizierter Vorgang, bei dem man schnell mal etwas übersieht.