SQLScript – der SQL Dialekt der SAP HANA

Ressourcen zu SQLScript

Die Referenzdokumentation der SAP ist auf jeden Fall die umfangreichste und wichtigste Quelle in dem Bereich. Hierin wird zwischen HANA SQL und SQLScript unterschieden, siehe auch weiter unten.

Neuigkeiten und Updates zu SQLScript

Die Unterschiede zwischen SQLScript von SAP HANA Cloud und HANA 2.0 SPS04 werden in diesem Blogpost beschrieben:

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 zum Teil in meinem Blog behandelt habe, sind zum Beispiel:

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. Insbesondere gibt es eine Unterscheidung zwischen On Premise versionen und der SAP HANA Cloud. Die aktuellsten Versionen sind:

Und 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 Erweiterungenanderer Datenbankhersteller, wie zum Beispiel PL/SQL von Oracle oder SQL PL von IBM. Alle diese Erweiterungen ermöglichen es das eine Abfolge von SQL-Anweisungenauf 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 auchmehrere 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.

Fordern Sie weitere Informationen an

This post is also available in: English