OpenSQL
Open SQL este un derivat SQL proprietar care provine din SAP . SAP intenționează să ofere un dialect SQL uniform pentru toate bazele de date acceptate de SAP. Open SQL face parte din limbajul de programare ABAP . Dar există și o versiune (mai puțin importantă) pentru Java . Utilizarea Open SQL necesită un SAP ABAP sau Java Application Server. În plus, toate tabelele de baze de date utilizate trebuie să fie create în propriul dicționar SAP. Scopul Open SQL este ca comenzile SQL utilizate să ofere același rezultat pe toate bazele de date. În acest scop, serverul de aplicații respectiv conține propriul său analizor SQL și un convertor care convertește comanda Open SQL în dialectul de bază nativ respectiv.
Funcționalitate și scop
În versiunile mai noi, Open SQL pentru ABAP conține părți mari ale standardului SQL-92 cu multe extensii. De exemplu, sunt acceptate expresii aritmetice, CASE ... ENDCASE, unele funcții SQL și expresii de tabel comune. Prin emulare în serverul de aplicații, pot fi oferite și funcții care nu sunt acceptate de toate bazele de date acceptate de SAP. Un exemplu aici sunt de ex. B. Fluxuri și localizatoare cu care câmpurile LOB mari din baza de date pot fi citite și scrise secțiune cu secțiune.
Domeniul de aplicare al Open SQL pentru Java este mult mai mic.
particularități
- Integrare perfectă în sistemul de tip SAP (ABAP), indiferent de sistemul de tip al bazei de date.
- Verificarea sintaxei statice la momentul compilării (spre deosebire de alte interfețe de baze de date , cum ar fi JDBC ).
- SQL dinamic și semi-dinamic (părți ale instrucțiunii SQL pot fi transferate dinamic în timp de execuție. Părțile statice pot fi verificate în continuare la compilare).
- Extensii proprii SAP, de ex. B. PENTRU TOATE INTRĂRILE (alăturarea tabelelor bazei de date cu așa-numitele tabele interne, adică variabile).
- Tabelele pot fi tamponate în serverul de aplicații și apoi citite folosind Open SQL fără acces la baza de date. În acest scop, serverul de aplicații conține un motor de baze de date ( în memorie ) (cu un domeniu de aplicare foarte redus).
Baze de date acceptate
Versiunile SAP actuale acceptă SAP HANA , Oracle , MaxDB , DB2 , Microsoft SQL Server și Sybase ASE. Din punct de vedere istoric, Informix a fost, de asemenea, sprijinit.
SQL nativ
SAP utilizează SQL nativ pentru a descrie dialectele SQL ale bazelor de date subiacente. Un exemplu ar fi SQL-ul bazei de date Oracle, care, ca DB2 sau MaxDB, are un interval de limbaj diferit de Open SQL. Mediul de execuție ABAP convertește apoi comenzile Open SQL în comenzile SQL native corespunzătoare. Folosind ADBC sau JDBC sau AMDP (informatică) (numai ABAP), ABAP sau Comenzile Java Native SQL pot fi, de asemenea, trimise direct.
Cuvinte cheie
Setul de limbaj Open SQL constă dintr-un subset de cuvinte cheie ale SQL standard , care a fost îmbogățit cu unele elemente specifice SAP. Următoarele cuvinte cheie pot fi utilizate în Open SQL:
- SELECT, ENDSELECT
- INTRODUCE
- MODIFICA
- ACTUALIZAȚI
- ȘTERGE
- CURSOR DESCHIS, CURSOR ÎNCHIS
- FETCH
- CU (de la ABAP Kernel 749)
Open SQL nu conține nicio comandă din Limbajul de definire a datelor . Tabelele sau vizualizările nu pot fi create sau modificate cu metodele Open SQL. Acest lucru este posibil doar folosind dicționarul ABAP sau Java.
Variabile de sistem
Două variabile de sistem care sunt utilizate pentru a returna valorile sunt acceptate de comenzile Open SQL și fac parte din setul de limbaj Open SQL:
- SY-SUBRC
- Returnează valoarea ultimei comenzi apelate.
- SY-DBCNT
- Numărul de înregistrări de date care au fost procesate de ultima comandă SQL apelată.
Link-uri web
- Deschideți SQL | Portalul de ajutor SAP. SAP, accesat la 14 iunie 2020 .