Una procedura è un'unità / modulo che esegue un'attività specifica. Questa procedura può essere combinata per formare programmi più grandi. Questo fondamentalmente costituisce il "design modulare". Una procedura può essere invocata da un'altra procedura chiamata programma chiamante.
Le procedure sono blocchi di elaborazione riutilizzabili con una sequenza specifica di trasformazione dei dati. La procedura può avere parametri multi-input / output. La procedura può essere creata come sola lettura o lettura-scrittura.
È possibile creare una procedura SQL in:
- A livello di schema (nodo catalogo)
- A livello di pacchetto (nodo contenuto)
La sintassi della stored procedure in SAP HANA è come mostrato di seguito:
SINTASSI
CREA PROCEDURA[( )] [LANGUAGE ][SQL SECURITY ] [DEFAULT SCHEMA ][READS SQL DATA [WITH RESULT VIEW ]] AS{INIZIO [ESECUZIONE SEQUENZIALE] FINE| SOLO INTESTAZIONE}
L'istruzione CREATE PROCEDURE crea una procedura utilizzando il linguaggio di programmazione menzionato
ELEMENTI DI SINTASSI
ELEMENTI | DESCRIZIONE |
---|---|
| Nome procedura |
| Il parametro è definito qui. Il parametro IN, OUT, INOUT è presente. Ogni parametro è contrassegnato utilizzando le parole chiave IN / OUT / INOUT • IN - Utilizzato per la procedura Passa valore a come INPUT. È un parametro di sola lettura. • OUT - Utilizzato per il valore restituito dalla procedura come OUTPUT. • INOUT - Utilizzato per passare e restituire valore alla procedura dallo stesso parametro. |
LINGUA | Definisce il linguaggio di programmazione utilizzato nella procedura. Predefinito: SQLSCRIPT |
SICUREZZA SQL | Specifica la modalità di sicurezza della procedura. Default: DEFINER • DEFINER - Specifica che l'esecuzione della procedura viene eseguita con i privilegi del definitore della procedura. • INVOKER - Specifica che l'esecuzione della procedura viene eseguita con i privilegi di chi ha invocato la procedura. |
Definisce lo schema per gli oggetti non qualificati nel corpo della procedura. Se non viene definito nulla, per la procedura viene utilizzato lo schema corrente della sessione. | |
LEGGE I DATI SQL | Contrassegna la procedura come di sola lettura, significa che la procedura non modifica i dati del database o la sua struttura e che la procedura non contiene istruzioni DDL o DML. Questa procedura chiama solo altre procedure di sola lettura. |
CON VISUALIZZAZIONE RISULTATO | Definisce la visualizzazione dei risultati da utilizzare come output di una procedura di sola lettura. Se una vista dei risultati viene specificata per una procedura, può essere chiamata da un'istruzione SQL nello stesso processo di una tabella o vista. |
ESECUZIONE SEQUENZIALE | Questa istruzione forza l'esecuzione sequenziale della logica della procedura. Non si verifica alcun parallelismo. |
Definisce il corpo principale della procedura in base al linguaggio di programmazione selezionato. | |
SOLO INTESTAZIONE | Se viene utilizzata solo intestazione, vengono create solo le proprietà della procedura con OID. |