SAP HANA SQL: Naucz się podstawowych instrukcji w 10 minut
⚡ Inteligentne podsumowanie
SAP HANA SQL to główny język baz danych platformy. Obsługuje on definiowanie schematów, manipulację danymi, kontrolę dostępu i zarządzanie sesjami, zgodnie ze standardem, który zapewnia przenośność SQL między relacyjnymi bazami danych.

Większość baz danych RDBMS wykorzystuje SQL jako język baz danych, powodem jego popularności jest to, że jest potężny, niezależny od dostawcy i ustandaryzowany. SAP HANA obsługuje również SQL.
In SAP HANA, SQL to główny język baz danych.
Czym jest SAP HANA SQL?
SQL oznacza ustrukturyzowany język zapytań. Jest to standardowy język do komunikacji z relacyjnymi bazami danych, takimi jak Oracle, MySQL itp. SQL służy do przechowywania, pobierania i modyfikowania danych w bazie danych.
Używając SQL w SAP HANA, możemy wykonać następujące zadania-
- Definicja i zastosowanie schematu (CREATE SCHEMA).
- Instrukcja DML (WYBIERZ, AKTUALIZUJ, WSTAW).
- Polecenie DDL (CREATE, ALTER, DROP)
- Oświadczenie DCL (UDZIELENIE, COFNIĘCIE)
- Zarządzanie systemem
- Zarządzanie sesją
- Transaction Management
Instrukcje są wykonywane z konsoli SQL SAP Studio HANA, z poziomu klienta wiersza poleceń lub z aplikacji łączącej się przez JDBC lub ODBC. Sam język jest w każdym przypadku identyczny.
Kategorie instrukcji SQL w SAP HANA
Każde stwierdzenie należy do jednej z niewielu rodzin. Wiedza o tym, do której rodziny należy dane stwierdzenie, pozwala przewidzieć, czy można je wycofać i jakich uprawnień wymaga.
| Kategoria | Imię i nazwisko | Typowe stwierdzenia | Cel |
|---|---|---|---|
| DDL | Język definicji danych | UTWÓRZ, ZMIEŃ, USUŃ, ZMIEŃ NAZWĘ | Definiuje i zmienia obiekty, takie jak schematy, tabele i widoki |
| DML | Język manipulacji danymi | WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ, UPSERT | Odczytuje i zmienia wiersze przechowywane w obiektach |
| DCL | Język kontroli danych | UDZIELIĆ, ODWOŁAĆ | Kontroluje, który użytkownik lub rola może wykonać daną czynność |
| TCL | Język kontroli transakcji | ZATWIERDŹ, WYCOFUJ, PUNKT ZAPISANIA | Potwierdza lub odrzuca jednostkę pracy |
| Sesja | Zarządzanie sesją | USTAW SCHEMAT, POŁĄCZ, USTAW TRANSAKCJĘ | Konfiguruje bieżące połączenie |
| Konfiguracja | Zarządzanie systemem | ALTER SYSTEM, monitorowanie widoków | Zarządza samą instancją bazy danych |
UPSERT jest wart uwagi, ponieważ nie występuje w każdym dialekcie. Wstawia wiersz, gdy klucz jest nowy, i aktualizuje go, gdy klucz już istnieje, co eliminuje powszechny wzorzec dwóch instrukcji.
Komentarz w SQL
Możemy dodać komentarz, aby poprawić czytelność i łatwość konserwacji instrukcji SQL. Komentarz można umieścić w SQL na dwa sposoby:
- Komentarz jednowierszowy – Double Myślniki „–”. To jest komentarz jednowierszowy.
- Komentarz wielowierszowy – „/* */”.
Cały tekst z komentarzem jest ignorowany przez analizator SQL.
-- 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;
Przykłady podstawowej składni SQL w SAP HANA
Poniższe instrukcje obejmują codzienny cykl tworzenia schematu, definiowania tabeli, ładowania wierszy i ich odczytywania. Działają one bez zmian w konsoli SQL.
1) Utwórz schemat. Schemat jest właścicielem obiektów w nim utworzonych i jest pierwszą rzeczą, jakiej potrzebuje nowy projekt.
CREATE SCHEMA DHK_SCHEMA; SET SCHEMA DHK_SCHEMA;
2) Utwórz tabelę kolumnową. Magazyn kolumn jest domyślny i zapewnia szybkość analiz HANA. Magazyn wierszy jest wybierany tylko w przypadku małych tabel o dużej objętości zapisu.
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) Wstaw i zaktualizuj wiersze. INSERT dodaje wiersz, a UPDATE zmienia istniejące. Zawsze łącz UPDATE z klauzulą WHERE, chyba że każdy wiersz powinien zostać zmieniony.
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) Zapytaj o dane. Instrukcja SELECT obsługuje znane klauzule WHERE, GROUP BY, HAVING i ORDER BY.
SELECT EMP_NAME, SALARY FROM DHK_SCHEMA.EMPLOYEE WHERE SALARY > 50000 ORDER BY SALARY DESC;
5) Udziel dostępu i zatwierdź. DCL kontroluje, kto może odczytać tabelę, a COMMIT sprawia, że praca staje się trwała.
GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER; COMMIT;
Szczegóły na poziomie pola dla każdej definicji kolumny są omówione w SAP Typy danych HANAi symbole używane w klauzuli WHERE w SAP Operatorzy HANA.
SAP HANA SQL kontra Standard SQL
SAP HANA ściśle przestrzega standardu SQL, dlatego doświadczony programista szybko osiąga produktywność. Różnice, które mają znaczenie, to raczej dodatki niż odstępstwa.
| Obszar | Standardowy SQL | SAP HANA SQL |
|---|---|---|
| Przechowywanie na stole | Domyślnie zorientowane na wiersze | Domyślnie magazyn kolumn, opcjonalnie magazyn wierszy |
| Wstaw lub zaktualizuj w jednym oświadczeniu | MERGE, tam gdzie jest obsługiwane | UPSERT, prostsza składnia dla tego samego wyniku |
| Limit zestawu wyników | Specyficzne dla dialektu | LIMIT z OFFSETEM i TOP |
| Rozszerzenie proceduralne | Specyficzne dla dostawcy | SQLScript ze zmiennymi tabelarycznymi i wykonywaniem równoległym |
| Wyszukiwanie pełnotekstowe | Zwykle dodatek | Wbudowane w kolumny TEKSTU i KRÓTKIEGO TEKSTU |
| Rozróżnianie wielkości liter | Różnie | Identyfikatory niesklasyfikowane są pisane wielkimi literami, identyfikatory z ogranicznikami zachowują wielkość liter |
Reguła identyfikatora powoduje najwięcej niespodzianek. Napisanie nazwy tabeli małymi literami bez cudzysłowów powoduje, że jest ona pisana wielkimi literami, a późniejsze wybranie jej w cudzysłowie małymi literami i nie znalezienie jej. Reguły są określone w typy danych i identyfikatory samouczek, obejmujący szerszą platformę SAP Samouczek HANA series.
