DbBesonderheiten: Unterschied zwischen den Versionen

Aus bafbal.de
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Besonderheiten der unterstützten Datenbanksysteme= SQL ist eine genormte Datenbanksprache, in der Theorie sollten sich alle unterstützen Datenbanksysteme r…“)
 
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
  
 
Auf dieser Seite sollen einige Erkenntnisse zum unterschiedlichen Verhalten der verwendeten Datenbanksysteme dargestellt werden.
 
Auf dieser Seite sollen einige Erkenntnisse zum unterschiedlichen Verhalten der verwendeten Datenbanksysteme dargestellt werden.
 +
 +
==Unterstützte Datenbanksysteme==
 +
 +
Grundsätzlich sollte alles igendwie funktionieren, was Devart UniDac unterstützt. Offiziell unterstützt werden
 +
 +
* SQLite
 +
* Firebird / Interbase
 +
* MariaDB / MySQL
 +
* PostgreSQL
 +
* MS SQL
 +
* Oracle
  
 
==CREATE TABLE==
 
==CREATE TABLE==
Zeile 12: Zeile 23:
  
 
===Spaltenbezeichner===
 
===Spaltenbezeichner===
 +
 +
Manche Spaltenbezeichner sind bei dem einen Datenbanksystem problemlos möglich und bei einem anderen geschützte Wörter, die nicht verwendet werden dürfen. Bei den folgenden Spaltenbezeichnern wird automatisch ein c (wie ''column'') davor gesetzt:
 +
 +
*key
 +
*value
 +
*start
 +
*sort
 +
*text
 +
*password
 +
 +
===Typen===
 +
 +
 +
==Leerfelderersetzung==
 +
 +
* SQLite: IfNull
 +
* Firebird / Interbase: Coalesce
 +
* MariaDB / MySQL: IfNull
 +
* PostgreSQL: Coalesce
 +
* MS SQL: IsNull
 +
* Oracle: NVL
 +
 +
Hinweis: Die BAF-Funktion $SQL_NVL setzt automatisch das Korrekte ein
 +
 +
==Stringverbindung==
 +
 +
* SQLite: ||
 +
* Firebird / Interbase: ||
 +
* MariaDB / MySQL: concat
 +
* PostgreSQL: ||
 +
* MS SQL: +
 +
* Oracle: ||
 +
 +
Hinweis: Die BAF-Funktion $SQL_CONCAT setzt automatisch das Korrekte ein

Aktuelle Version vom 14. August 2021, 12:38 Uhr

Besonderheiten der unterstützten Datenbanksysteme

SQL ist eine genormte Datenbanksprache, in der Theorie sollten sich alle unterstützen Datenbanksysteme recht ähnlich verhalten. In der Praxis gibt es doch erhebliche Unterschiede. Es ist der Anspruch von BAF, diese Unterschiede "im Hintergrund" auszugleichen, sofern man sich bei der Programmierung "auf ausgetretenen Pfaden" bewegt.

Auf dieser Seite sollen einige Erkenntnisse zum unterschiedlichen Verhalten der verwendeten Datenbanksysteme dargestellt werden.

Unterstützte Datenbanksysteme

Grundsätzlich sollte alles igendwie funktionieren, was Devart UniDac unterstützt. Offiziell unterstützt werden

  • SQLite
  • Firebird / Interbase
  • MariaDB / MySQL
  • PostgreSQL
  • MS SQL
  • Oracle

CREATE TABLE

Primary Key

  • SQLite: Eine Spalte, die als PRIMARY KEY definiert wird, wird mit aufsteigenden Zahlen gefüllt, unabhängig davon, was der Anwender dem INSERT-Statement mitgibt. Da BAF GUIDs verwendet, wird PRIMARY KEY durch UNIQUE ersetzt.

Spaltenbezeichner

Manche Spaltenbezeichner sind bei dem einen Datenbanksystem problemlos möglich und bei einem anderen geschützte Wörter, die nicht verwendet werden dürfen. Bei den folgenden Spaltenbezeichnern wird automatisch ein c (wie column) davor gesetzt:

  • key
  • value
  • start
  • sort
  • text
  • password

Typen

Leerfelderersetzung

  • SQLite: IfNull
  • Firebird / Interbase: Coalesce
  • MariaDB / MySQL: IfNull
  • PostgreSQL: Coalesce
  • MS SQL: IsNull
  • Oracle: NVL

Hinweis: Die BAF-Funktion $SQL_NVL setzt automatisch das Korrekte ein

Stringverbindung

  • SQLite: ||
  • Firebird / Interbase: ||
  • MariaDB / MySQL: concat
  • PostgreSQL: ||
  • MS SQL: +
  • Oracle: ||

Hinweis: Die BAF-Funktion $SQL_CONCAT setzt automatisch das Korrekte ein