Учебное пособие по хранимым процедурам SAP HANA SQL

Что такое хранимые процедуры SQL?

Процедура — это блок/модуль, выполняющий конкретную задачу. Эту процедуру можно комбинировать для формирования более крупных программ. По сути, это формирует «модульный дизайн». Процедура может быть вызвана другой процедурой, которая называется вызывающей программой.

Процедуры представляют собой повторно используемые блоки обработки с определенной последовательностью преобразования данных. Процедура может иметь несколько входных/выходных параметров. Процедура может быть создана как доступная только для чтения или для чтения и записи.

An SQL Процедуру можно создать по адресу –

  • На уровне схемы (узел каталога)
  • На уровне пакета (узел контента)

Синтаксис хранимых процедур в SAP HANA как показано ниже –

СИНТАКСИС

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 – используется для процедуры передачи значения в качестве ВХОДА. Это параметр только для чтения.

• OUT – используется для возвращаемого значения процедуры как OUTPUT.

• INOUT – используется для передачи и возврата значения в процедуру по одному и тому же параметру.

ЯЗЫК Определяет язык программирования, используемый в процедуре. По умолчанию: SQLSCRIPT.
БЕЗОПАСНОСТЬ SQL Указывает режим безопасности процедуры. По умолчанию: ОПРЕДЕЛИТЕЛЬ

• DEFINER – указывает, что выполнение процедуры выполняется с привилегиями определяющего процедуру.

• INVOKER – указывает, что выполнение процедуры выполняется с привилегиями инициатора процедуры.

Он определяет схему для неквалифицированных объектов в теле процедуры. Если ничего не определено, то для процедуры используется текущая схема сеанса.
ЧИТАЕТ ДАННЫЕ SQL Он помечает процедуру как доступную только для чтения. Это означает, что процедура не изменяет данные базы данных или ее структуру и что процедура не содержит операторов DDL или DML. Эта процедура вызывает только другие процедуры, доступные только для чтения.
С ПРОСМОТРОМ РЕЗУЛЬТАТА Он определяет представление результатов, которое будет использоваться в качестве выходных данных процедуры, доступной только для чтения.
Если для процедуры указано представление результатов, то она может быть вызвана SQL оператор в том же процессе, что и таблица или представление.
ПОСЛЕДОВАТЕЛЬНОЕ ВЫПОЛНЕНИЕ Этот оператор вызовет последовательное выполнение логики процедуры. Никакого параллелизма не происходит.
Он определяет основную часть процедуры на основе выбранного языка программирования.
ТОЛЬКО ЗАГОЛОВОК Если используется только заголовок, то с OID создаются только свойства процедуры.