Een procedure is een eenheid / module die een specifieke taak uitvoert. Deze procedure kan worden gecombineerd om grotere programma's te vormen. Dit vormt in feite het 'Modular Design'. Een procedure kan worden aangeroepen door een andere procedure die het aanroepende programma wordt genoemd.
Procedures zijn herbruikbare verwerkingsblokken met een specifieke volgorde van datatransformatie. De procedure kan meerdere invoer- / uitvoerparameters hebben. De procedure kan worden gemaakt als alleen-lezen of als lezen-schrijven.
Een SQL-procedure kan worden gemaakt op -
- Op schemaniveau (catalogusknooppunt)
- Op pakketniveau (inhoudsknooppunt)
De syntaxis van de opgeslagen procedure in SAP HANA is zoals hieronder weergegeven -
SYNTAXIS
MAAK PROCEDURE[( )] [LANGUAGE ][SQL SECURITY ] [STANDAARDSCHEMA ][LEEST SQL-GEGEVENS [MET RESULTAATVIEW ]] AS{BEGIN [SEQUENTIËLE UITVOERING] EINDE ALLEEN HEADER}
De instructie CREATE PROCEDURE maakt een procedure met behulp van de programmeertaal
SYNTAX-ELEMENTEN
ELEMENTEN | OMSCHRIJVING |
---|---|
| Procedure naam |
| De parameter wordt hier gedefinieerd. IN, OUT, INOUT parameter is er. Elke parameter wordt gemarkeerd met behulp van de trefwoorden IN / OUT / INOUT • IN - Wordt gebruikt om de waarde door te geven aan de procedure als INPUT. Het is alleen-lezen parameter. • OUT - Gebruikt voor retourwaarde van procedure als OUTPUT. • INOUT - Wordt gebruikt voor het doorgeven en retourneren van waarde aan procedure door dezelfde parameter. |
TAAL | Definieert de programmeertaal die in de procedure wordt gebruikt. Standaard: SQLSCRIPT |
SQL SECURITY | Specificeert de beveiligingsmodus van de procedure. Standaard: DEFINER • DEFINER - Geeft aan dat de uitvoering van de procedure wordt uitgevoerd met de privileges van de definiërende instantie van de procedure. • INVOKER - Specificeert dat de uitvoering van de procedure wordt uitgevoerd met de privileges van de aanroeper van de procedure. |
Het definieert het schema voor niet-gekwalificeerde objecten in de hoofdtekst van de procedure. Als er niets is gedefinieerd, wordt het huidige schema van de sessie gebruikt voor de procedure. | |
LEEST SQL-GEGEVENS | Het markeert de procedure als alleen-lezen, het betekent dat de procedure de databasegegevens of de structuur ervan niet wijzigt en dat de procedure geen DDL- of DML-instructies bevat. Deze procedure roept alleen andere alleen-lezen procedures op. |
MET RESULTAATVIEW | Het definieert de resultaatweergave die moet worden gebruikt als de uitvoer van een alleen-lezen procedure. Als een resultaatweergave is opgegeven voor een procedure, kan deze worden aangeroepen door een SQL-instructie in hetzelfde proces als een tabel of weergave. |
SEQUENTIËLE UITVOERING | Deze instructie dwingt sequentiële uitvoering van de procedurelogica af. Er vindt geen parallellisme plaats. |
| Het definieert het hoofdgedeelte van de procedure op basis van de geselecteerde programmeertaal. |
ALLEEN HEADER | Als Alleen koptekst wordt gebruikt, worden alleen procedure-eigenschappen gemaakt met OID. |