Ett förfarande är en enhet / modul som utför en specifik uppgift. Denna procedur kan kombineras för att bilda större program. Detta bildar i princip "Modular Design". Ett förfarande kan åberopas genom ett annat förfarande som kallas anropsprogrammet.
Procedurer är återanvändbara behandlingsblock med en specifik sekvens av datatransformation. Proceduren kan ha flera ingångs- / utgångsparametrar. Proceduren kan skapas som skrivskyddad eller skriv-skriv.
En SQL-procedur kan skapas på -
- På schemanivå (katalognod)
- På paketnivå (innehållsnod)
Lagrad procedursyntax i SAP HANA är som visas nedan -
SYNTAX
CREATE PROCEDURE[( )] [LANGUAGE ][SQL SECURITY ] [DEFAULT SCHEMA ][READS SQL DATA [WITH RESULT VIEW ]] AS{BEGIN [SEQUENTIAL EXECUTION] END| HEADER ONLY }
Uttalandet CREATE PROCEDURE skapar en procedur som använder programmeringsspråket
SYNTAX ELEMENT
ELEMENTER | BESKRIVNING |
---|---|
| Procedurens namn |
| Parametern definieras här. IN, OUT, INOUT-parametern finns. Varje parameter är markerad med hjälp av nyckelorden IN / OUT / INOUT • IN - Används för passvärde till procedur som INPUT. Det är skrivskyddad parameter. • OUT - Används för returvärde från procedur som OUTPUT. • INOUT - Används för godkännande och returvärde till procedur med samma parameter. |
SPRÅK | Definierar det programmeringsspråk som används i proceduren. Standard: SQLSCRIPT |
SQL SECURITY | Anger säkerhetsläget för proceduren. Standard: DEFINER • DEFINER - Anger att utförandet av proceduren ska utföras med behörighet som definierar proceduren. • INVOKER - Anger att utförandet av proceduren utförs med privilegierna för den som anropar proceduren. |
Det definierar schemat för okvalificerade objekt i procedurens kropp. Om inget definieras används det aktuella schemat för sessionen för proceduren. | |
LÄS SQL-DATA | Det markerar proceduren som skrivskyddad, det betyder att proceduren inte ändrar databasdata eller dess struktur och att proceduren inte innehåller DDL- eller DML-uttalanden. Denna procedur anropar bara andra skrivskyddade procedurer. |
MED RESULTATSVIS | Den definierar resultatvyn som ska användas som utdata för en skrivskyddad procedur. Om en resultatvy anges för en procedur kan den anropas av en SQL-sats i samma process som en tabell eller vy. |
SEKVENTIELL GENOMFÖRANDE | Detta uttalande tvingar sekventiell körning av procedurlogiken. Ingen parallellitet sker. |
| Den definierar procedurens huvuddel baserat på det valda programmeringsspråket. |
ENDAST HEADER | Om endast rubrik används skapas endast proceduregenskaper med OID. |