Процедура - это блок / модуль, выполняющий определенную задачу. Эту процедуру можно комбинировать для создания более крупных программ. Это в основном образует «Модульный дизайн». Процедура может быть вызвана другой процедурой, которая называется вызывающей программой.
Процедуры представляют собой повторно используемый блок обработки с определенной последовательностью преобразования данных. Процедура может иметь несколько параметров ввода / вывода. Процедура может быть создана как для чтения, так и для чтения-записи.
Процедура SQL может быть создана в -
- На уровне схемы (узел каталога)
- На уровне пакета (узел содержимого)
Синтаксис хранимой процедуры в SAP HANA показан ниже -
СИНТАКСИС
CREATE PROCEDURE[( )] [LANGUAGE ][SQL SECURITY ] [DEFAULT SCHEMA ][READS SQL DATA [WITH RESULT VIEW ]] AS{BEGIN [SEQUENTIAL EXECUTION] END| HEADER ONLY }
Оператор CREATE PROCEDURE создает процедуру с использованием упомянутого языка программирования
ЭЛЕМЕНТЫ СИНТАКСИСА
ЭЛЕМЕНТЫ | ОПИСАНИЕ |
---|---|
| Название процедуры |
<предложение_параметра> | Параметр определяется здесь. Есть параметр IN, OUT, INOUT. Каждый параметр помечается ключевыми словами IN / OUT / INOUT • IN - используется для передачи значения в процедуру как INPUT. Это параметр только для чтения. • OUT - используется для возвращаемого значения из процедуры как OUTPUT. • INOUT - используется для передачи и возврата значения в процедуру одним и тем же параметром. |
ЯЗЫК <ЯЗЫК> | Определяет язык программирования, используемый в процедуре. По умолчанию: SQLSCRIPT |
БЕЗОПАСНОСТЬ SQL <режим> | Задает режим безопасности процедуры. По умолчанию: DEFINER • DEFINER - указывает, что выполнение процедуры выполняется с привилегиями определяющего процедуру. • INVOKER - указывает, что выполнение процедуры выполняется с привилегиями инициатора процедуры. |
<имя_схемы_по умолчанию> | Он определяет схему для неквалифицированных объектов в теле процедуры. Если ничего не определено, то для процедуры используется текущая схема сеанса. |
ЧИТАЕТ ДАННЫЕ SQL | Он отмечает процедуру как доступную только для чтения, это означает, что процедура не изменяет данные базы данных или ее структуру и что процедура не содержит операторов DDL или DML. Эта процедура вызывает только другие процедуры, доступные только для чтения. |
С ПРОСМОТРОМ РЕЗУЛЬТАТА | Он определяет представление результатов, которое будет использоваться как вывод процедуры, доступной только для чтения. Если для процедуры указано представление результатов, оно может быть вызвано оператором SQL в том же процессе, что и таблица или представление. |
ПОСЛЕДОВАТЕЛЬНОЕ ИСПОЛНЕНИЕ | Этот оператор заставит последовательное выполнение логики процедуры. Никакого параллелизма нет. |
<тело процедуры> | Он определяет основную часть процедуры на основе выбранного языка программирования. |
ТОЛЬКО ЗАГОЛОВОК | Если используется только заголовок, то с OID создаются только свойства процедуры. |