www.wikidata.de-de.nina.az
Open SQL ist ein proprietares SQL Derivat das vom Unternehmen SAP stammt SAP beabsichtigt damit einen einheitlichen SQL Dialekt fur alle von SAP unterstutzten Datenbanken anzubieten Open SQL ist Bestandteil der Programmiersprache ABAP Es gibt aber auch eine weniger bedeutsame Version fur Java Die Benutzung von Open SQL setzt einen SAP ABAP oder Java Application Server voraus Ausserdem mussen alle verwendeten Datenbanktabellen im SAP eigenen Dictionary erstellt werden Ziel von Open SQL ist es dass die verwendeten SQL Befehle auf allen Datenbanken das gleiche Ergebnis liefern Zu diesem Zweck enthalt der jeweilige Application Server einen eigenen SQL Parser und einen Umsetzer der das Open SQL Kommando in den jeweiligen nativen Datenbankdialekt umwandelt Inhaltsverzeichnis 1 Funktionalitat und Umfang 2 Besonderheiten 3 Unterstutzte Datenbanken 4 Native SQL 5 Schlusselworter 6 Systemvariablen 7 WeblinksFunktionalitat und Umfang BearbeitenIn neueren Versionen enthalt Open SQL fur ABAP grosse Teile des SQL 92 Standards mit vielen Erweiterungen So werden beispielsweise Arithmetische Ausdrucke CASE ENDCASE einige SQL Funktionen und Common Table Expressions unterstutzt Durch Emulation innerhalb des Application Servers konnen auch Funktionen angeboten werden die nicht alle von SAP unterstutzten Datenbanken unterstutzen Ein Beispiel sind hier z B Streams und Lokatoren mit denen grosse LOB Felder auf der Datenbank abschnittsweise gelesen und geschrieben werden konnen Der Umfang von Open SQL fur Java ist deutlich geringer Besonderheiten BearbeitenLuckenlose Integration in das SAP ABAP Typsystem unabhangig vom Typsystem der Datenbank Statischer Syntaxcheck zur Compilezeit etwa im Gegensatz zu anderen Datenbankschnittstellen wie JDBC Dynamisches und halbdynamisches SQL Teile des SQL Statements konnen dynamisch zur Laufzeit ubergeben werden Die statischen Anteile konnen trotzdem zur Compilezeit uberpruft werden SAP eigene Erweiterungen z B FOR ALL ENTRIES Join von Datenbanktabellen mit sogenannten internen Tabellen d h Variablen Tabellen konnen im Application Server gepuffert und dann mittels Open SQL ohne Datenbankzugriff gelesen werden Zu diesem Zweck enthalt der Application Server eine in memory Datenbankengine mit stark reduziertem Umfang Unterstutzte Datenbanken BearbeitenIn aktuellen SAP Releases werden SAP HANA Oracle MaxDB DB2 Microsoft SQL Server und Sybase ASE unterstutzt Historisch wurde auch Informix unterstutzt Native SQL BearbeitenMit Native SQL bezeichnet SAP die SQL Dialekte der zugrunde liegenden Datenbanken Ein Beispiel ware das SQL der Oracle Datenbank welches ebenso wie DB2 oder MaxDB einen anderen Sprachumfang als Open SQL besitzt Die ABAP Laufzeitumgebung setzt dann die Open SQL Kommandos in die entsprechenden Native SQL Kommandos um Mittels ADBC bzw JDBC oder AMDP Informatik nur ABAP konnen in ABAP resp Java auch direkt Native SQL Kommandos abgesetzt werden Schlusselworter BearbeitenDer Sprachvorrat von Open SQL besteht aus einer Untermenge der Schlusselworter des Standard SQL der mit einigen SAP spezifischen Elementen angereichert wurde Folgende Schlusselworter sind in Open SQL verwendbar SELECT ENDSELECT INSERT MODIFY UPDATE DELETE OPEN CURSOR CLOSE CURSOR FETCH WITH seit ABAP Kernel 749 Open SQL enthalt keine Kommandos der Data Definition Language Mit Open SQL Methoden konnen keine Tabellen oder Views angelegt oder verandert werden Dies ist nur uber das ABAP bzw Java Dictionary moglich Systemvariablen BearbeitenZwei Systemvariablen die zur Ruckgabe von Werten verwendet werden werden von den Open SQL Kommandos unterstutzt und gehoren zum Sprachvorrat von Open SQL SY SUBRC Ruckgabewert des zuletzt aufgerufenen Kommandos SY DBCNT Anzahl der Datensatze die vom zuletzt aufgerufenen SQL Kommando verarbeitet wurden Weblinks BearbeitenOpen SQL SAP Help Portal SAP abgerufen am 14 Juni 2020 Abgerufen von https de wikipedia org w index php title Open SQL amp oldid 238459428