SQL Snippets

SQL-Snippets sind häufig verwendete SQL-Statements, die sich aus unterschiedlichen Programmbereichen schnell und einfach aufrufen und verwenden lassen.

Möchte man zum Beispiel die Datensätze einer Tabelle zählen, so könnte man hierfür das folgende SQL-Snippet in der oms.config definieren:

<oms.config>
  <snippets>
    <sqlsnippet name="Zählen">
      <sql>SELECT COUNT(*) FROM $(.TableName)</sql>
    </sqlsnippet>
  </snippets>
</oms.config>

Dieses zugegebenermaßen sehr einfache SQL-Snippet lässt sich für nahezu alle DBMS anwenden. Häufig müssen SQL-Statements für unterschiedliche DBMS aber sehr individuell formuliert werden, damit die Datenbank die Anfrage versteht. Möchten wir in diesem Zusammenhang zum Beispiel die ersten 10 Datensätze einer Tabelle auslesen, dann können wir ein SQL-Snippet mit dem Namen Oberste 10 Zeilen definieren und für die unterschiedlichen DBMS, für die wir dieses SQL-Snippet verwenden möchten, die entsprechenden SQL Statements eintragen:

<oms.config>
  <snippets>
    <sqlsnippet name="Oberste 10 Zeilen">
      <sql dbms="Oracle">SELECT * FROM $(.TableName) WHERE rownum <= 10</sql>
      <sql dbms="Microsoft SQL Server">SELECT TOP 10 * FROM $(.TableName)</sql>
      <sql dbms="ACCESS">SELECT TOP 10 * FROM $(.TableName)</sql>
    </sqlsnippet>
  </snippets>
</oms.config>

DBMS Produktinformation

DBMS Produktinformation

Ist das dbms-Attribut im ;-Tag nicht angegeben, so wird der Eintrag als Standard-Vorgabe verstanden. Ist weder eine Standard-Vorgabe noch ein DBMS-spezifischer SQL-Tag definiert, so wird für das jeweils aktive DBMS kein entsprechendes SQL-Snippet angeboten.

Als DBMS ist die von der Datenbank vorgegebene Information anzugeben (z.B. “Oracle”, “ACCESS”, “Microsoft SQL Server”). Bei bestehender Verbindung zur Datenbank, kann man diese Information im Eigenschaften-Fenster einsehen, sofern die entsprechende Datenquelle im Schema-Browser markiert ist (vgl. nebenstehenden Screenshot). Hat man sich einmal mit einem DBMS verbunden, dann wird dieser Wert auch in die oms.config geschrieben:

<systems>
  <dbms products="Oracle;ACCESS;EXCEL;Microsoft SQL Server;MySQL;DBASE"/>
</systems>

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.