SAP HANA SQL: Lær grundlæggende udsagn på 10 minutter
⚡ Smart opsummering
SAP HANA SQL er platformens primære databasesprog. Det håndterer skemadefinition, datamanipulation, adgangskontrol og sessionsstyring og følger den standard, der gør SQL bærbar på tværs af relationelle databaser.

De fleste RDBMS-databaser bruger SQL som databasesprog er grunden til at være populær – det er kraftfuldt, leverandøruafhængigt og standardiseret. SAP HANA understøtter også SQL.
In SAP HANA, SQL er det vigtigste databasesprog.
Hvad er SAP HANA SQL?
SQL står for Structured Query Language. Det er et standardsprog til kommunikation med relationelle databaser som Oracle, MySQL etc. SQL bruges til at gemme, hente og ændre data i databasen.
Ved at bruge SQL i SAP HANA, vi kan udføre følgende job-
- Skema definition og brug (CREATE SCHEMA).
- DML-erklæring (SELECT, UPDATE, INSERT).
- DDL-sætning (CREATE, ALTER, DROP)
- DCL-erklæring (GODKENDELSE, TILBAGETRÆKELSE)
- System Management
- Session Management
- Transaktionsstyring
Sætninger udføres fra SQL-konsollen SAP HANA Studio, fra en kommandolinjeklient eller fra et program, der opretter forbindelse via JDBC eller ODBC. Selve sproget er identisk i begge tilfælde.
SQL-sætningskategorier i SAP HANA
Hvert udsagn tilhører en af et lille antal familier. At vide, hvilken familie et udsagn befinder sig i, forudsiger, om det kan rulles tilbage, og hvilken autorisation det kræver.
| Kategori | Fulde navn | Typiske udsagn | Formål |
|---|---|---|---|
| DDL | Datadefinitionssprog | OPRET, ÆNDRE, SLET, OMDØB | Definerer og ændrer objekter såsom skemaer, tabeller og visninger |
| DML | Datamanipulation Sprog | VÆLG, INDSÆT, OPDATER, SLET, OPDATER | Læser og ændrer rækkerne indeholdt i objekter |
| DCL | Datakontrolsprog | TILDELING, TILBAGETAGELSE | Styrer hvilken bruger eller rolle der må udføre hvilken handling |
| TCL | Transaktionskontrolsprog | COMMIT, ROLLBACK, SAVEPOINT | Bekræfter eller kasserer en arbejdsenhed |
| Session | Sessionsledelse | INDSTIL SKEMA, FORBIND, INDSTIL TRANSAKTION | Konfigurerer den aktuelle forbindelse |
| Systemkrav | Systemstyring | ÆNDRE SYSTEM, overvågningsvisninger | Administrerer selve databaseinstansen |
UPSERT er værd at bemærke, fordi det ikke findes i alle dialekter. Det indsætter en række, når nøglen er ny, og opdaterer den, når nøglen allerede findes, hvilket fjerner et almindeligt mønster med to sætninger.
Kommentar i SQL
Vi kan tilføje en kommentar for at forbedre læsbarheden og vedligeholdelsen af SQL-sætninger. Kommentar kan sættes på SQL på to måder-
- Enkeltlinjekommentar – Double Bindestreger “–”. Dette er en kommentar på én linje.
- Kommentarer til flere linjer – “/* */”.
Al kommenteret tekst ignoreres af SQL Parser.
-- This is a single line comment SELECT ELEMENT FROM DHK_SCHEMA.TABLE1; /* This is a multiple line comment. Everything between the markers is ignored by the SQL parser. */ SELECT COUNT(*) FROM DHK_SCHEMA.TABLE1;
Grundlæggende SQL-syntakseksempler i SAP HANA
Sætningerne nedenfor dækker den daglige cyklus med at oprette et skema, definere en tabel, indlæse rækker og læse dem tilbage. De kører uændret i SQL-konsollen.
1) Opret et skema. Et skema ejer de objekter, der oprettes i det, og er det første, et nyt projekt har brug for.
CREATE SCHEMA DHK_SCHEMA; SET SCHEMA DHK_SCHEMA;
2) Opret en kolonnetabel. Kolonnelager er standardindstillingen og årsagen til HANA-analysehastigheden. Rækkelager vælges kun til små tabeller med tung skrivning.
CREATE COLUMN TABLE DHK_SCHEMA.EMPLOYEE ( EMP_ID INTEGER NOT NULL, EMP_NAME NVARCHAR(100), HIRE_DATE DATE, SALARY DECIMAL(10,2), PRIMARY KEY (EMP_ID) );
3) Indsæt og opdater rækker. INSERT tilføjer en række, og UPDATE ændrer eksisterende. Par altid en UPDATE med en WHERE-klausul, medmindre alle rækker virkelig skal ændres.
INSERT INTO DHK_SCHEMA.EMPLOYEE VALUES (1, 'Anita Sharma', '2026-01-15', 55000.00); UPDATE DHK_SCHEMA.EMPLOYEE SET SALARY = 60000.00 WHERE EMP_ID = 1;
4) Forespørg dataene. SELECT understøtter de velkendte WHERE-, GROUP BY-, HAVING- og ORDER BY-klausuler.
SELECT EMP_NAME, SALARY FROM DHK_SCHEMA.EMPLOYEE WHERE SALARY > 50000 ORDER BY SALARY DESC;
5) Giv adgang og commit. DCL styrer, hvem der må læse tabellen, og COMMIT gør arbejdet permanent.
GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER; COMMIT;
Detaljer på feltniveau om hver kolonnedefinition er dækket i SAP HANA-datatyperog symbolerne, der bruges i WHERE-klausulen i SAP HANA-operatører.
SAP HANA SQL vs. standard SQL
SAP HANA følger SQL-standarden nøje, hvilket er grunden til, at en erfaren udvikler er hurtigt produktiv. De vigtigste forskelle er tilføjelser snarere end afvigelser.
| Miljø | Standard SQL | SAP HANA SQL |
|---|---|---|
| Bordopbevaring | Rækkeorienteret som standard | Kolonnelagring som standard, rækkelagring valgfri |
| Indsæt eller opdater i én erklæring | FLET, hvor det understøttes | UPSERT, enklere syntaks for det samme resultat |
| Resultatgrænse | Dialektspecifik | LIMIT med OFFSET, plus TOP |
| Proceduremæssig forlængelse | Leverandørspecifik | SQLScript med tabelvariabler og parallel udførelse |
| Fuldtekstsøgning | Normalt et tillæg | Indbygget via TEKST- og KORTTEKSTT-kolonner |
| Sagsfølsomhed | Varierer | Uafgrænsede identifikatorer er store bogstaver, afgrænsede identifikatorer beholder store bogstaver |
Identifikatorreglen forårsager de fleste overraskelser. Hvis man skriver et tabelnavn med små bogstaver uden dobbelte anførselstegn, oprettes det med store bogstaver, og senere, hvis man vælger det i dobbelte anførselstegn med små bogstaver, finder man det ikke. Reglerne er angivet i datatyper og identifikatorer tutorial, med den bredere platform dækket i SAP HANA-vejledning serien.
