SAP Урок за HANA SQL съхранена процедура
Какво представляват SQL съхранените процедури?
Процедурата е единица/модул, която изпълнява специфична задача. Тази процедура може да се комбинира за формиране на по-големи програми. Това основно формира „Модулния дизайн“. Една процедура може да бъде извикана от друга процедура, която се нарича извикваща програма.
Процедурите са многократно използваем блок за обработка със специфична последователност от трансформация на данни. Процедурата може да има множество входно/изходни параметри. Процедурата може да бъде създадена като само за четене или четене-запис.
An SQL Процедурата може да бъде създадена на –
- На ниво схема (каталожен възел)
- На ниво пакет (възел на съдържанието)
Синтаксис на съхранената процедура в SAP ХАНА е както е показано по-долу –
СИНТАКСИС
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 }
Операторът CREATE PROCEDURE създава процедура, използвайки споменатия език за програмиране .
СИНТАКСИЧНИ ЕЛЕМЕНТИ
ЕЛЕМЕНТИ | ОПИСАНИЕ |
---|---|
Име на процедурата | |
Параметърът е дефиниран тук. Има параметър IN, OUT, INOUT. Всеки параметър се маркира с ключовите думи IN/OUT/INOUT
• IN – Използва се за процедурата Pass Value To като INPUT. Това е параметър само за четене. • OUT – Използва се за връщана стойност от процедура като OUTPUT. • INOUT – Използва се за преминаване и връщане на стойност към процедура от същия параметър. |
|
ЕЗИК | Определя езика за програмиране, използван в процедурата. По подразбиране: SQLSCRIPT |
SQL СИГУРНОСТ | Указва режима на защита на процедурата. По подразбиране: DEFINER
• DEFINER – Указва, че изпълнението на процедурата се извършва с привилегиите на дефинатора на процедурата. • INVOKER – Указва, че изпълнението на процедурата се извършва с привилегиите на инвокатора на процедурата. |
Той дефинира схемата за неквалифицирани обекти в тялото на процедурата. Ако нищо не е дефинирано, тогава текущата схема на сесията се използва за процедурата. | |
ЧЕТЕ SQL ДАННИ | Той маркира процедурата като само за четене, това означава, че процедурата не променя данните в базата данни или нейната структура и че процедурата не съдържа DDL или DML изрази. Тази процедура извиква само други процедури само за четене. |
С ИЗГЛЕД НА РЕЗУЛТАТА | Той дефинира изгледа на резултата, който да се използва като изход на процедура само за четене. Ако за дадена процедура е зададен изглед на резултата, той може да бъде извикан от SQL оператор в същия процес като таблица или изглед. |
ПОСЛЕДОВАТЕЛНО ИЗПЪЛНЕНИЕ | Този оператор ще наложи последователно изпълнение на логиката на процедурата. Няма паралелизъм. |
Той определя основното тяло на процедурата въз основа на избрания език за програмиране. | |
САМО ЗАГЛАВКА | Ако се използва само заглавие, тогава само свойствата на процедурата се създават с OID. |