SAP Handledning för HANA SQL lagrad procedur
Vad är SQL Stored Procedures?
En procedur är en enhet/modul som utför en specifik uppgift. Denna procedur kan kombineras för att bilda större program. Detta bildar i princip den "modulära designen". En procedur kan anropas av en annan procedur som kallas det anropande programmet.
Procedurer är återanvändbara bearbetningsblock med en specifik sekvens av datatransformation. Proceduren kan ha flera in-/utgångsparametrar. Proceduren kan skapas som skrivskyddad eller läs-skriv.
An SQL Procedur kan skapas på –
- På schemanivå (katalognod)
- På paketnivå (innehållsnod)
Lagrad procedursyntax i SAP HANA är som visas nedan -
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 }
CREATE PROCEDURE-satsen skapar en procedur som använder programmeringsspråket omnämnande .
SYNTAXELEMENT
ELEMENT | BESKRIVNING |
---|---|
Procedurnamn | |
Parametern definieras här. IN, OUT, INOUT parametern finns där. Varje parameter markeras med nyckelorden IN/OUT/INOUT
• IN – Används för Pass Value To-proceduren som INPUT. Det är en skrivskyddad parameter. • OUT – Används för returvärde från procedur som OUTPUT. • INOUT – Används för passerande och returvärde till procedur med samma parameter. |
|
SPRÅK | Definierar det programmeringsspråk som används i proceduren. Standard: SQLSCRIPT |
SQL-SÄKERHET | Anger säkerhetsläget för proceduren. Standard: DEFINER
• DEFINER – Anger att exekveringen av proceduren utförs med privilegierna för den som definierar proceduren. • INVOKER – Anger att exekveringen av proceduren utförs med privilegierna för den som anropar proceduren. |
Den definierar schemat för okvalificerade objekt i procedurkroppen. Om inget är definierat används det aktuella schemat för sessionen för proceduren. | |
LÄSER SQL DATA | Det markerar proceduren som skrivskyddad, det betyder att proceduren inte ändrar databasdata eller dess struktur och att proceduren inte innehåller DDL- eller DML-satser. Denna procedur anropar endast andra skrivskyddade procedurer. |
MED RESULTATVISNING | Den definierar resultatvyn som ska användas som utdata för en skrivskyddad procedur. Om en resultatvy specificeras för en procedur kan den anropas av en SQL uttalande i samma process som en tabell eller vy. |
SEKVENS UTFÖRANDE | Detta uttalande kommer att tvinga fram sekventiell exekvering av procedurlogiken. Ingen parallellism äger rum. |
Den definierar huvuddelen av proceduren baserat på det valda programmeringsspråket. | |
ENDAST HUVUD | Om endast Header används skapas endast proceduregenskaper med OID. |