Eine Prozedur ist eine Einheit / ein Modul, die bzw. das eine bestimmte Aufgabe ausführt. Dieses Verfahren kann zu größeren Programmen kombiniert werden. Dies bildet im Wesentlichen das "Modular Design". Eine Prozedur kann von einer anderen Prozedur aufgerufen werden, die als aufrufendes Programm bezeichnet wird.
Prozeduren sind wiederverwendbare Verarbeitungsblöcke mit einer bestimmten Sequenz von Datentransformationen. Die Prozedur kann mehrere Ein- / Ausgabeparameter haben. Die Prozedur kann schreibgeschützt oder schreibgeschützt erstellt werden.
Eine SQL-Prozedur kann erstellt werden unter -
- Auf Schemaebene (Katalogknoten)
- Auf Paketebene (Inhaltsknoten)
Die Syntax für gespeicherte Prozeduren in SAP HANA lautet wie folgt:
SYNTAX
CREATE PROCEDURE[( )] [SPRACHE ][SQL SECURITY ] [STANDARDSCHEMA ][LEST SQL-DATEN [MIT ERGEBNISANSICHT ]] AS{BEGIN [SEQUENTIAL EXECUTION] ENDE| NUR HEADER}
Die Anweisung CREATE PROCEDURE erstellt eine Prozedur mit der erwähnten Programmiersprache
SYNTAXELEMENTE
ELEMENTE | BESCHREIBUNG |
---|---|
Prozedurname | |
| Der Parameter wird hier definiert. Der Parameter IN, OUT, INOUT ist vorhanden. Jeder Parameter wird mit den Schlüsselwörtern IN / OUT / INOUT • IN markiert - Wird für die Prozedur Pass Value To als INPUT verwendet. Es ist ein schreibgeschützter Parameter. • OUT - Wird für den Rückgabewert der Prozedur als OUTPUT verwendet. • INOUT - Wird für die Übergabe und den Rückgabewert an die Prozedur mit demselben Parameter verwendet. |
SPRACHE | Definiert die in der Prozedur verwendete Programmiersprache. Standard: SQLSCRIPT |
SQL SECURITY | Gibt den Sicherheitsmodus der Prozedur an. Standard: DEFINER • DEFINER - Gibt an, dass die Ausführung der Prozedur mit den Berechtigungen des Definierers der Prozedur ausgeführt wird. • INVOKER - Gibt an, dass die Ausführung der Prozedur mit den Berechtigungen des Aufrufers der Prozedur ausgeführt wird. |
Es definiert das Schema für nicht qualifizierte Objekte im Prozedurkörper. Wenn nichts definiert ist, wird das aktuelle Schema der Sitzung für die Prozedur verwendet. | |
LEST SQL-DATEN | Es markiert die Prozedur als schreibgeschützt, bedeutet, dass die Prozedur die Datenbankdaten oder ihre Struktur nicht ändert und dass die Prozedur keine DDL- oder DML-Anweisungen enthält. Diese Prozedur ruft nur andere schreibgeschützte Prozeduren auf. |
MIT ERGEBNISANSICHT | Es definiert die Ergebnisansicht, die als Ausgabe einer schreibgeschützten Prozedur verwendet werden soll. Wenn für eine Prozedur eine Ergebnisansicht angegeben wird, kann diese von einer SQL-Anweisung im selben Prozess wie eine Tabelle oder Ansicht aufgerufen werden. |
SEQUENTIELLE AUSFÜHRUNG | Diese Anweisung erzwingt die sequentielle Ausführung der Prozedurlogik. Es findet keine Parallelität statt. |
Es definiert den Hauptteil der Prozedur basierend auf der ausgewählten Programmiersprache. | |
NUR HEADER | Wenn nur Header verwendet wird, werden nur Prozedureigenschaften mit OID erstellt. |