SQLScript – der SQL Dialekt der SAP HANA

Was ist SQLScript?

SQLScript ist eine Programmiersprache, die eine Erweiterung des SQL Standards durch die SAP darstellt. Diese Sprache wurde entwickelt, um die Ausführung komplexer Geschäftslogik vom Anwendungsserver auf die SAP HANA Datenbank zu verlagern.

Damit ist die Sprache SQLScript vergleichbar mit den Erweiterungen anderer Datenbankhersteller, wie zum Beispiel PL/SQL von Oracle oder SQL PL von IBM. Alle diese Erweiterungen ermöglichen es das eine Abfolge von SQL-Anweisungen auf dem Datebankserver in Form von Prozeduren oder Funktionen gespeichert wird. Diese können dann mit einem einzelnen Aufruf vom Anwendungsserver gestartet werden. Im Gegensatz zu einzelnen SELECT-Abfragen, können die Prozeduraufrufe auch mehrere Ergbnismengen (Result Sets) zurückliefern.

Vergleich einzelne SQL Anweisungen vom der Applikation vs. gespeicherte SQLScript Anweisungen in einer Prozedur

Die Verlagerung von komplexen Abfragen mittels SQLScript auf den Datebankserver bringt erhebliche Vorteile bei der Ausführung. Zum Beispiel erlaubt die deklarative Formulierung der Abfragen in SQL eine massive Optimierung und Parallelisierung der Ausführung. Im Gegensatz dazu lässt eine imperative, datensatzweisen Programmierung auf dem Applikationsserver eine solche Optimierung nicht zu.

Trotzdem sind auch imperative Elemente Bestandteil der Programmiersprache SQLScript. Dies erlaubt die Programmierung von Algorithmen und Ablauflogik in Prozeduren. Auch eine Mischung von imperativer und deklarativer Logik ist möglich, wobei hier die Optimierung und Parallelisierung nur begrenzt möglich ist.

Mit dem AMDP Framework hat die SAP eine fast nahtlose Integration von Datenbankprozeduren in die Sprache ABAP geschaffen. Dieses ermöglicht, im ABAP Quelltext direkt SQLScript Prozeduren und Funktionen zu definieren, zu implementieren und aufzurufen. Damit kann man als ABAP Entwickler ohne direkten Zugang zur SAP HANA Datenbank die Vorzüge von SQLScript und der optimierten Ausführung nutzen.

Ressourcen zu SQLScript

Das Buch SQLScript für SAP HANA gibt einen guten Einstieg in die Sprache. Es ist auch auf Englisch verfügbar.

Die Referenzdokumentation der SAP ist auf jeden Fall die umfangreichste Ressource in dem Bereich. Hierin wird zwischen HANA SQL und SQLScript unterschieden. Tatsächlich bilden die beiden gemeinsam eine Sprache, und die Trennung wirkt teilweise etwas willkürlich. Dies ist auf jeden Fall das richtige Nachschlagewerk, wenn Sie Details zu einzelnen Anweisungen oder SQL-Funktionen suchen.

Buch "SQLScript für SAP HANA"

Versionen von SQLScript

Mit jeder neuen Version von der SAP HANA entwickelt sich momentan die Sprache weiter. Entsprechend muss man auch bei den Dokumentationen immer darauf achten, dass man die richtige Version vor sich hat. Die wichtigsten Versionen sind aktuell:

  • HANA 1.0 SPS 12 – Höchster SPS-Stand der 1.0 und auf vielen älteren Installationen zu finden.
  • HANA 2.0 SPS 03 – Gefühlt der am weitesten verbreiteter 2.0er Stand (11/2019)
  • HANA 2.0 SPS 04 – neuste Version, verfügbar seit 4/2019

In dem Dokument What’s New in the SAP HANA Platform 2.0 finden sich die Änderungen zu jedem Support Package Level der 2.0, nicht nur zu SQLScript. Ein paar neue Features von SQLScript im SPS04, die ich demnächst in meinem Blog behandeln werde, sind zum Beispiel:

This post is also available in: English