SQLScript Grundlagen

Einleitung SQLScript

(C) Brandeis Consulting.

SQL vs. SQLScript

(C) Brandeis Consulting.

Was ist SQLScript

  • eine proprietäre Erweiterung des SQL-Standards der SAP.
  • ist der SQL-Dialekt, der von der SAP HANA und von Adaptive Server Enterprise (ASE) [1]verarbeitet wird.
  • besteht aus Erweiterungen:
    • Prozeduren, Funktionen und anonyme Blöcke als logische Container für den SQLScript Code
    • Deklarative Logik mit Tabellenvariablen zur Formulierung komplexer, aber trotzdem sehr performanter Datenbankabfragen
    • Imperative Logik zur Ablaufsteuerung wie zum Beispiel IF/ELSE oder FOR-Schleifen
(C) Brandeis Consulting.

Wo könnt Ihr SQLScript einsetzen?

  • Im ABAP Applikationsserver als AMDP Tabellenfunktionen und -Prozeduren für
    • SAP BW Transformationsroutinen
    • CDS Table Functions
    • kundeneigene Planungsfunktionstypen im PAK bzw. IP
    • Massendatenverarbeitung aus dem ABAP heraus aufgerufen
  • Als Native HANA Prozeduren oder -Tabellenfunktionen als
    • Datenquelle von Calculation Views
    • Basis von HANA Anwendungen mit den XSA oder XS(C) Applikationsservern
  • Bei der Analyse von Daten in der SQL-Konsole
  • In SAP DataSphere (aka. DWC) als Tabellenfunktionen (aka. SQLScript Views)
(C) Brandeis Consulting.

Informationen zu SQLScript

  • SAP Dokumentation auf help.sap.com:
    • SAP HANA SQLScript Reference (PDF, 182 Seiten)
    • SAP HANA SQL and System View Reference (PDF, 1862 Seiten)
  • Blogposts
(C) Brandeis Consulting.

Warum sind die Erweiterungen notwendig

Es können jeweils nur einzelne SQL-Anweisungen von der Anwendung an die Datenbank geschickt werden. Damit lassen sich zwar unglaublich komplexe Abfragen erstellen, aber eine saubere, lesbare Struktur ist damit ab einer gewissen Komplexität unmöglich.

Ablauflogik auf dem Server ist mit reinem SQL nicht möglich. Dafür braucht man eine prozedurale Erweiterung. Andere Datenbankhersteller haben ebenfalls solche Erweiterungen, z.B. PL/SQL von Oracle.

(C) Brandeis Consulting.

DML, DDL und DCL

Data Manipulation Language (DML)

Die DML umfasst alle Anweisungen, die den Datenbestand in den Datenbanktabellen lesen oder ändern. Die meisten Anwendungen verwenden im laufenden Betrieb ausschließlich DML-Anweisungen. Typische Anweisungen sind SELECT, INSERT und UPDATE.

Data Definition Language (DDL)

Die Definition des Datenmodells erfolgt mit diesen Anweisungen. Das geschieht normalerweise während der Entwicklung oder zum Installations- bzw. Upgradezeitpunkt einer Anwendung. Typische Anweisungen sind die CREATE, ALTER und DROP Anweisungen.

Data Control Language (DCL)

Dieser Teil der SQL Sprache ist für die Vergabe von Schreib- und Leseberechtigungen zuständig. Die Anweisungen sind also für die Administration der Datenbank relevant. Typische Anweisungen sind GRANT und REVOKE.

(C) Brandeis Consulting.

Was ist davon für BW relevant?

(C) Brandeis Consulting.