SAP HANA SQL: Вивчіть основні оператори за 10 хвилин
⚡ Розумний підсумок
SAP HANA SQL – це основна мова баз даних платформи. Вона обробляє визначення схеми, маніпулювання даними, контроль доступу та керування сеансами, дотримуючись стандарту, який робить SQL портативним між реляційними базами даних.

Більшість баз даних RDBMS використовує SQL причина популярності мови бази даних полягає в тому, що вона є потужною, незалежною від виробника та стандартизованою. SAP HANA також підтримує SQL.
In SAP HANA, SQL є основною мовою бази даних.
Що таке SAP HANA SQL?
SQL означає мову структурованих запитів. Це стандартна мова для спілкування з реляційними базами даних, такими як Oracle, MySQL тощо. SQL використовується для зберігання, отримання та зміни даних у базі даних.
За допомогою SQL в SAP HANA, ми можемо виконати наступну роботу-
- Визначення та використання схеми (CREATE SCHEMA).
- Оператор DML (SELECT, UPDATE, INSERT).
- Оператор DDL (CREATE, ALTER, DROP)
- Заява DCL (НАДАТИ, СКАСУВАТИ)
- Управління системою
- Управління сесією
- Управління транзакціями
Оператори виконуються з консолі SQL SAP Студія HANA, з клієнта командного рядка або з програми, що підключається через JDBC або ODBC. Сама мова ідентична в обох випадках.
Категорії SQL-інструкцій у SAP ХАНА
Кожен оператор належить до однієї з невеликої кількості сімейств. Знання того, до якої сім'ї належить оператор, передбачає, чи можна його відкотити та яка авторизація для нього потрібна.
| Категорія | Повне ім'я | Типові твердження | Мета |
|---|---|---|---|
| DDL | Мова визначення даних | СТВОРИТИ, ЗМІНИТИ, ВИДАЛИТИ, ПЕРЕЙМЕНУВАТИ | Визначає та змінює об'єкти, такі як схеми, таблиці та представлення |
| DML | Мова маніпулювання даними | ВИБІР, ВСТАВИТИ, ОНОВЛЕННЯ, ВИДАЛИТИ, ПЕРЕВЕРНУТИ | Зчитує та змінює рядки, що містяться всередині об'єктів |
| DCL | Мова керування даними | НАДАТИ, СКАСУВАТИ | Контролює, який користувач або роль може виконувати яку дію |
| TCL | Мова керування транзакціями | ЗАФІКСАЦІЯ, ВІДКАТ, ТОЧКА ЗБЕРЕЖЕННЯ | Підтверджує або відхиляє одиницю роботи |
| Session | управління сесіями | ВСТАНОВИТИ СХЕМУ, З'ЄДНАТИ, ВСТАНОВИТИ ТРАНЗАКЦІЮ | Налаштовує поточне з'єднання |
| SYSTEM | Системне управління | ЗМІНИТИ СИСТЕМУ, моніторинг переглядів | Адмініструє сам екземпляр бази даних |
Варто зазначити, що функція UPSERT існує не в кожному діалекті. Вона вставляє рядок, коли ключ новий, і оновлює його, коли ключ вже існує, що усуває поширену схему з двох операторів.
Коментар у SQL
Ми можемо додати коментар, щоб покращити читабельність і зручність обслуговування операторів SQL. Коментар можна додати до SQL двома способами:
- Однорядковий коментар – Double Дефіси «–». Це однорядковий коментар.
- Багаторядковий коментар – “/* */”.
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;
Базові приклади синтаксису SQL у SAP ХАНА
Наведені нижче оператори охоплюють щоденний цикл створення схеми, визначення таблиці, завантаження рядків та їх зчитування. Вони виконуються без змін у консолі SQL.
1) Створіть схему. Схема володіє об'єктами, створеними всередині неї, і це перше, що потрібно новому проекту.
CREATE SCHEMA DHK_SCHEMA; SET SCHEMA DHK_SCHEMA;
2) Створіть таблицю стовпців. Сховище за стовпцями використовується за замовчуванням і є причиною аналітичної швидкості HANA. Сховище за рядками вибирається лише для невеликих таблиць з великим обсягом запису.
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) Вставка та оновлення рядків. INSERT додає рядок, а UPDATE змінює існуючі. Завжди поєднуйте UPDATE з реченням WHERE, окрім випадків, коли дійсно потрібно змінити кожен рядок.
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) Зробіть запит до даних. SELECT підтримує знайомі речення WHERE, GROUP BY, HAVING та ORDER BY.
SELECT EMP_NAME, SALARY FROM DHK_SCHEMA.EMPLOYEE WHERE SALARY > 50000 ORDER BY SALARY DESC;
5) Надайте доступ та зробіть фіксацію. DCL контролює, хто може читати таблицю, а COMMIT робить роботу постійною.
GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER; COMMIT;
Детальна інформація на рівні поля для кожного визначення стовпця розглядається в SAP Типи даних HANA, а також символи, що використовуються в реченні WHERE в SAP Оператори HANA.
SAP HANA SQL проти стандартного SQL
SAP HANA чітко дотримується стандарту SQL, тому досвідчений розробник швидко досягає продуктивності. Важливими відмінностями є доповнення, а не відхилення.
| Область | Стандартний SQL | SAP HANA SQL |
|---|---|---|
| Зберігання на столі | Орієнтація на рядки за замовчуванням | Зберігання стовпців за замовчуванням, зберігання рядків необов'язково |
| Вставити або оновити в одному твердженні | MERGE, де підтримується | UPSERT, простіший синтаксис для того самого результату |
| Обмеження набору результатів | Діалектна специфіка | ОБМЕЖЕННЯ зі ЗМІЩЕННЯМ, плюс ВЕРХ |
| Процедурне продовження | Специфічний для постачальника | SQLScript з табличними змінними та паралельним виконанням |
| Повнотекстовий пошук | Зазвичай це доповнення | Вбудовано через стовпці TEXT та SHORTTEXT |
| Чутливість до справи | Залежить | Нерозділені ідентифікатори пишуться великими літерами, розділені — збереженням регістру |
Правило ідентифікатора викликає найбільше несподіванок. Якщо написати назву таблиці в нижньому регістрі без подвійних лапок, вона буде записана у верхньому регістрі, а подальший вибір її в подвійних лапках у нижньому регістрі не дасть її знайти. Правила викладено в типи даних та ідентифікатори навчальний посібник, при цьому ширша платформа охоплена в SAP Підручник з HANA серії.
