SAP Tutorial privind procedura stocată HANA SQL
Ce sunt procedurile stocate SQL?
O procedură este o unitate/modul care efectuează o anumită sarcină. Această procedură poate fi combinată pentru a forma programe mai mari. Acesta formează practic „Designul Modular”. O procedură poate fi invocată de o altă procedură numită programul apelant.
Procedurile sunt blocuri de procesare reutilizabile cu o secvență specifică de transformare a datelor. Procedura poate avea parametri multi-intrare/ieșire. Procedura poate fi creată doar în citire sau în citire-scriere.
An SQL Procedura poate fi creată la -
- La nivel de schemă (nodul de catalog)
- La nivel de pachet (nodul de conținut)
Sintaxa procedurii stocate în SAP HANA este așa cum se arată mai jos -
SINTAXĂ
CREATE PROCEDURE <proc_name> [(<parameter_clause>)] [LANGUAGE <lang>] [SQL SECURITY <mode>] [DEFAULT SCHEMA <default_schema_name>] [READS SQL DATA [WITH RESULT VIEW <view_name>]] AS {BEGIN [SEQUENTIAL EXECUTION] <procedure_body> END | HEADER ONLY }
Instrucțiunea CREATE PROCEDURE creează o procedură folosind limbajul de programare de mențiune .
ELEMENTE DE SINTAXĂ
ELEMENTE | DESCRIERE |
---|---|
Numele procedurii | |
Parametrul este definit aici. Parametrul IN, OUT, INOUT este acolo. Fiecare parametru este marcat folosind cuvintele cheie IN/OUT/INOUT
• IN – Folosit pentru procedura Pass Value To ca INPUT. Este parametrul Numai citire. • OUT – Folosit pentru valoarea returnată din procedură ca IEȘIRE. • INOUT – Folosit pentru trecerea și returnarea valorii la procedură de același parametru. |
|
LIMBA | Definește limbajul de programare utilizat în procedură. Implicit: SQLSCRIPT |
SECURITATE SQL | Specifică modul de securitate al procedurii. Implicit: DEFINER
• DEFINITOR – Specifică faptul că execuția procedurii se realizează cu privilegiile definitorului procedurii. • INVOKER – Specifică că executarea procedurii se realizează cu privilegiile invocatorului procedurii. |
Acesta definește schema pentru obiectele necalificate din corpul procedurii. Dacă nu este definit nimic, atunci schema curentă a sesiunii este utilizată pentru procedură. | |
CITEȘTE DATE SQL | Acesta marchează procedura ca fiind doar pentru citire, înseamnă că procedura nu modifică datele bazei de date sau structura acesteia și că procedura nu conține instrucțiuni DDL sau DML. Această procedură apelează doar alte proceduri numai în citire. |
CU VIZIUNEA REZULTATELOR | Acesta definește vizualizarea rezultatului care urmează să fie utilizat ca rezultat al unei proceduri numai în citire. Dacă este specificată o vizualizare de rezultat pentru o procedură, atunci aceasta poate fi apelată de un SQL declarație în același proces ca un tabel sau o vedere. |
EXECUTARE SECVENTIALA | Această instrucțiune va forța execuția secvențială a logicii procedurii. Nu are loc paralelism. |
Acesta definește corpul principal al procedurii pe baza limbajului de programare selectat. | |
NUMAI HEADER | Dacă se folosește doar antet, atunci numai proprietățile procedurii sunt create cu OID. |