SAP Samouczek dotyczący procedury składowanej SQL HANA
Co to są procedury składowane SQL?
Procedura to jednostka/moduł wykonujący określone zadanie. Procedurę tę można łączyć w celu utworzenia większych programów. Zasadniczo tworzy to „konstrukcję modułową”. Procedurę można wywołać przez inną procedurę, zwaną programem wywołującym.
Procedury są blokiem przetwarzania wielokrotnego użytku z określoną sekwencją transformacji danych. Procedura może posiadać wiele parametrów wejścia/wyjścia. Procedurę można utworzyć jako tylko do odczytu lub do odczytu i zapisu.
An SQL Procedurę można utworzyć pod adresem –
- Na poziomie schematu (węzeł katalogu)
- Na poziomie pakietu (węzeł treści)
Składnia procedury składowanej w SAP HANA jest jak pokazano poniżej –
SKŁADNIA
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 }
Instrukcja CREATE PROCEDURE tworzy procedurę przy użyciu wspomnianego języka programowania .
ELEMENTY SKŁADNIOWE
ELEMENTY | OPIS |
---|---|
Nazwa procedury | |
Parametr jest definiowany tutaj. Parametr IN, OUT, INOUT jest tam. Każdy parametr jest oznaczony za pomocą słów kluczowych IN/OUT/INOUT
• IN – Używany do procedury Pass Value To jako WEJŚCIE. Jest to parametr tylko do odczytu. • OUT – Używane do zwracania wartości z procedury jako WYJŚCIA. • INOUT – Używany do przekazywania i zwracania wartości do procedury za pomocą tego samego parametru. |
|
JĘZYK | Określa język programowania używany w procedurze. Wartość domyślna: SQLSCRIPT |
BEZPIECZEŃSTWO SQL | Określa tryb zabezpieczeń procedury. Wartość domyślna: DEFINER
• DEFINER – Określa, że wykonanie procedury odbywa się z uprawnieniami definiującego procedurę. • INVOKER – Określa, że wykonanie procedury odbywa się z uprawnieniami osoby wywołującej procedurę. |
Definiuje schemat dla niekwalifikowanych obiektów w treści procedury. Jeśli nic nie jest zdefiniowane, w procedurze używany jest bieżący schemat sesji. | |
CZYTA DANYCH SQL | Oznacza procedurę jako tylko do odczytu, co oznacza, że procedura nie modyfikuje danych bazy danych ani jej struktury oraz że procedura nie zawiera instrukcji DDL ani DML. Ta procedura wywołuje tylko inne procedury tylko do odczytu. |
Z WIDOKIEM WYNIKÓW | Definiuje widok wyników, który ma być używany jako wynik procedury tylko do odczytu. Jeśli dla procedury określono widok wyników, wówczas można go wywołać za pomocą metody SQL instrukcja w tym samym procesie co tabela lub widok. |
WYKONANIE SEKWENCYJNE | Ta instrukcja wymusi sekwencyjne wykonanie logiki procedury. Nie zachodzi żadna równoległość. |
Definiuje główną część procedury w oparciu o wybrany język programowania. | |
TYLKO NAGŁÓWEK | Jeśli używana jest opcja Tylko nagłówek, tworzone są wyłącznie właściwości procedury z identyfikatorem OID. |