SAP Výukový program uložených procedur HANA SQL

Co jsou uložené procedury SQL?

Procedura je jednotka/modul, který provádí konkrétní úkol. Tento postup lze kombinovat a vytvořit tak větší programy. To v podstatě tvoří 'Modulární design'. Procedura může být vyvolána jinou procedurou, která se nazývá volající program.

Procedury jsou znovu použitelné bloky zpracování se specifickou sekvencí transformace dat. Procedura může mít vícevstupové/výstupní parametry. Procedura může být vytvořena pouze pro čtení nebo pro čtení a zápis.

An SQL Postup lze vytvořit na -

  • Na úrovni schématu (katalogový uzel)
  • Na úrovni balíčku (uzel obsahu)

Syntaxe uložené procedury v SAP HANA je znázorněno níže –

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 }

Příkaz CREATE PROCEDURE vytvoří proceduru používající zmíněný programovací jazyk .

PRVKY SYNTAXE

PRVKY POPIS
Název procedury
Parametr je definován zde. Je tam parametr IN, OUT, INOUT. Každý parametr je označen pomocí klíčových slov IN/OUT/INOUT

• IN – Používá se pro proceduru Pass Value To jako INPUT. Je to parametr pouze pro čtení.

• OUT – Používá se pro návratovou hodnotu z procedury jako OUTPUT.

• INOUT – Používá se pro Pass a Return Value To Procedure stejným parametrem.

JAZYK Definuje programovací jazyk použitý v proceduře. Výchozí: SQLSCRIPT
ZABEZPEČENÍ SQL Určuje režim zabezpečení procedury. Výchozí: DEFINER

• DEFINER – Určuje, že provádění procedury se provádí s oprávněními definujícího proceduru.

• INVOKER – Určuje, že provedení procedury se provádí s právy vyvolávače procedury.

Definuje schéma pro nekvalifikované objekty v těle procedury. Pokud není nic definováno, pak se pro proceduru použije aktuální schéma relace.
ČTE DATA SQL Označuje proceduru jako pouze pro čtení, to znamená, že procedura nemění data databáze ani její strukturu a že procedura neobsahuje příkazy DDL nebo DML. Tato procedura volá pouze další procedury pouze pro čtení.
S ZOBRAZENÍM VÝSLEDKŮ Definuje zobrazení výsledků, které se má použít jako výstup procedury pouze pro čtení.
Pokud je pro proceduru zadáno zobrazení výsledku, může být voláno pomocí an SQL příkaz ve stejném procesu jako tabulka nebo pohled.
SEKVENČNÍ PROVEDENÍ Tento příkaz vynutí sekvenční provádění logiky procedury. Žádný paralelismus se nekoná.
Definuje hlavní část procedury na základě zvoleného programovacího jazyka.
POUZE HLAVA Pokud je použito pouze záhlaví, pak se s OID vytvoří pouze vlastnosti procedury.