SAP HANA SQL: impara le istruzioni di base in 10 minuti
โก Riepilogo intelligente
SAP HANA SQL รจ il linguaggio di database principale della piattaforma. Gestisce la definizione dello schema, la manipolazione dei dati, il controllo degli accessi e la gestione delle sessioni, seguendo lo standard che rende SQL portabile tra i database relazionali.

La maggior parte dei database RDBMS utilizza SQL come linguaggio di database, il motivo per cui รจ popolare รจ che รจ potente, indipendente dal fornitore e standardizzato. SAP HANA supporta anche SQL.
In SAP HANA, SQL รจ il linguaggio principale del database.
Cosa รจ SAP HANA-SQL?
SQL sta per Structured Query Language. ร un linguaggio standard per comunicare con database relazionali come Oracle, MySQL ecc. SQL viene utilizzato per archiviare, recuperare e modificare i dati nel database.
Utilizzando SQL in SAP HANA, possiamo eseguire i seguenti lavori:
- Definizione e utilizzo dello schema (CREATE SCHEMA).
- Dichiarazione DML (SELECT, UPDATE, INSERT).
- Istruzioni DDL (CREATE, ALTER, DROP)
- Dichiarazione DCL (CONCESSIONE, REVOCA)
- Gestione del sistema
- Gestione della sessione
- Gestione delle transazioni
Le istruzioni vengono eseguite dalla console SQL di SAP Studio HANA, da un client da riga di comando o da un'applicazione che si connette tramite JDBC o ODBC. Il linguaggio in sรฉ รจ identico in ogni caso.
Categorie di istruzioni SQL in SAP HANA
Ogni dichiarazione appartiene a una di un numero ristretto di famiglie. Sapere a quale famiglia appartiene una dichiarazione permette di prevedere se puรฒ essere annullata e quale autorizzazione รจ necessaria.
| Categoria | Nome e cognome | Dichiarazioni tipiche | Missione |
|---|---|---|---|
| DDL | Linguaggio di definizione dei dati | CREA, MODIFICA, RIMUOVI, RINOMINA | Definisce e modifica oggetti quali schemi, tabelle e viste. |
| DML | Linguaggio di manipolazione dei dati | SELEZIONA, INSERISCI, AGGIORNA, CANCELLA, UPSERT | Legge e modifica le righe contenute all'interno degli oggetti |
| DCL | Linguaggio di controllo dei dati | CONCEDERE, REVOCARE | Controlla quale utente o ruolo puรฒ eseguire quale azione |
| TCL | Linguaggio di controllo delle transazioni | COMMIT, ROLLBACK, SAVEPOINT | Conferma o scarta un'unitร di lavoro |
| Sessione | Gestione delle sessioni | IMPOSTA SCHEMA, CONNETTI, IMPOSTA TRANSAZIONE | Configura la connessione corrente |
| Sistema | Gestione del sistema | ALTER SYSTEM, monitora le visualizzazioni | Gestisce l'istanza del database stessa. |
L'istruzione UPSERT merita di essere menzionata perchรฉ non รจ presente in tutti i dialetti. Inserisce una riga quando la chiave รจ nuova e la aggiorna quando la chiave esiste giร , eliminando cosรฌ un comune schema a due istruzioni.
Commento in SQL
Possiamo aggiungere un commento per migliorare la leggibilitร e la manutenibilitร delle istruzioni SQL. Il commento puรฒ essere inserito in SQL in due modi:
- Commento a riga singola โ Double Trattini โโโ. Questo รจ un commento su una sola riga.
- Commento su piรน righe โ โ/* */โ.
Tutto il testo commentato viene ignorato da 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;
Esempi di sintassi SQL di base in SAP HANA
Le istruzioni seguenti descrivono il ciclo quotidiano di creazione di uno schema, definizione di una tabella, caricamento delle righe e successiva lettura. Vengono eseguite senza modifiche nella console SQL.
1) Creare uno schema. Uno schema definisce la proprietร degli oggetti creati al suo interno ed รจ la prima cosa di cui un nuovo progetto ha bisogno.
CREATE SCHEMA DHK_SCHEMA; SET SCHEMA DHK_SCHEMA;
2) Creare una tabella a colonne. Il formato Column Store รจ quello predefinito ed รจ il motivo per cui HANA offre velocitร di analisi elevata. Il formato Row Store viene scelto solo per tabelle di piccole dimensioni con un elevato numero di operazioni di scrittura.
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) Inserire e aggiornare le righe. INSERT aggiunge una riga, mentre UPDATE modifica quelle esistenti. ร sempre consigliabile associare un'istruzione UPDATE a una clausola WHERE, a meno che non sia necessario modificare tutte le righe.
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) Interrogare i dati. SELECT supporta le clausole WHERE, GROUP BY, HAVING e ORDER BY, che sono ben note.
SELECT EMP_NAME, SALARY FROM DHK_SCHEMA.EMPLOYEE WHERE SALARY > 50000 ORDER BY SALARY DESC;
5) Concedi l'accesso e conferma. DCL controlla chi puรฒ leggere la tabella, mentre COMMIT rende la modifica permanente.
GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER; COMMIT;
I dettagli a livello di campo sulla definizione di ciascuna colonna sono trattati in SAP Tipi di dati HANAe i simboli utilizzati nella clausola WHERE in SAP operatori HANA.
SAP HANA SQL vs SQL standard
SAP HANA segue fedelmente lo standard SQL, motivo per cui uno sviluppatore esperto puรฒ essere produttivo rapidamente. Le differenze che contano sono le aggiunte, non le deviazioni.
| Zona | SQL standard | SAP HANASQL |
|---|---|---|
| Portaoggetti da tavolo | Orientamento per riga predefinito | Archiviazione a colonne per impostazione predefinita, archiviazione a righe opzionale |
| Inserire o aggiornare in un'unica istruzione | UNISCI, ove supportato | UPSERT, sintassi piรน semplice per ottenere lo stesso risultato |
| limite del set di risultati | Specifico del dialetto | LIMITE con OFFSET, piรน TOP |
| Estensione procedurale | Specifico del fornitore | SQLScript, con variabili di tabella ed esecuzione parallela |
| Ricerca testo completa | Solitamente un componente aggiuntivo | Integrato tramite colonne TESTO e TESTO BREVE |
| Distinzione tra maiuscole e minuscole | Varie | Gli identificatori non delimitati vengono scritti in maiuscolo, quelli delimitati mantengono la maiuscola/minuscola. |
La regola dell'identificatore causa le maggiori sorprese. Scrivere il nome di una tabella in minuscolo senza virgolette doppie lo crea in maiuscolo, e successivamente selezionarlo tra virgolette doppie in minuscolo non riesce a trovarlo. Le regole sono stabilite nel tipi di dati e identificatori tutorial, con la piattaforma piรน ampia trattata nel SAP Tutorial su HANA serie.
