SAP Tutorial zu gespeicherten HANA SQL-Prozeduren
Was sind gespeicherte SQL-Prozeduren?
Eine Prozedur ist eine Einheit/ein Modul, die/das eine bestimmte Aufgabe ausführt. Dieses Verfahren kann zu größeren Programmen kombiniert werden. Dies bildet im Grunde das „Modulare Design“. Eine Prozedur kann von einer anderen Prozedur aufgerufen werden, die als aufrufendes Programm bezeichnet wird.
Prozeduren sind wiederverwendbare Verarbeitungsblöcke mit einer bestimmten Reihenfolge der Datentransformation. Die Prozedur kann mehrere Eingabe-/Ausgabeparameter haben. Die Prozedur kann schreibgeschützt oder schreibgeschützt erstellt werden.
An SQL Prozedur kann erstellt werden unter –
- Auf Schemaebene (Katalogknoten)
- Auf Paketebene (Inhaltsknoten)
Syntax gespeicherter Prozeduren in SAP HANA ist wie unten gezeigt –
SYNTAX
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 }
Die CREATE PROCEDURE-Anweisung erstellt eine Prozedur mithilfe der erwähnten Programmiersprache .
SYNTAXELEMENTE
ELEMENTS | BESCHREIBUNG |
---|---|
Verfahrensname | |
Der Parameter wird hier definiert. Der Parameter IN, OUT, INOUT ist vorhanden. Jeder Parameter wird mit den Schlüsselwörtern IN/OUT/INOUT gekennzeichnet
• IN – Wird für die Prozedur „Wert übergeben an“ als INPUT verwendet. Es handelt sich um einen schreibgeschützten Parameter. • OUT – Wird für den Rückgabewert der Prozedur als OUTPUT verwendet. • INOUT – Wird für die Übergabe und Rückgabe von Werten an die Prozedur durch denselben Parameter verwendet. |
|
SPRACHE | Definiert die in der Prozedur verwendete Programmiersprache. Standard: SQLSCRIPT |
SQL-SICHERHEIT | Gibt den Sicherheitsmodus der Prozedur an. Standard: DEFINER
• DEFINER – Gibt an, dass die Ausführung der Prozedur mit den Privilegien des Definierers der Prozedur durchgeführt wird. • INVOKER – Gibt an, dass die Ausführung der Prozedur mit den Privilegien des Aufrufers der Prozedur durchgeführt wird. |
Es definiert das Schema für nicht qualifizierte Objekte im Prozedurhauptteil. Wenn nichts definiert ist, wird das aktuelle Schema der Sitzung für die Prozedur verwendet. | |
Liest SQL-Daten | Es markiert die Prozedur als schreibgeschützt, bedeutet, dass die Prozedur die Datenbankdaten oder ihre Struktur nicht verä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 ist, kann diese von einer aufgerufen werden SQL Anweisung im selben Prozess wie eine Tabelle oder Ansicht. |
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. |