SAP HANA SQL-i salvestatud protseduuride õpetus

Anonim

Protseduur on üksus / moodul, mis täidab konkreetset ülesannet. Seda protseduuri saab kombineerida suuremate programmide moodustamiseks. Põhimõtteliselt moodustab see moodulkujunduse. Protseduurile saab tugineda muu protseduur, mida nimetatakse helistamisprogrammiks.

Protseduurid on korduvkasutatav töötlemisplokk koos kindla andmete teisendamise järjestusega. Protseduuril võivad olla mitme sisendi / väljundi parameetrid. Protseduuri saab luua kirjutuskaitstud või kirjutus-kirjutusena.

SQL-protseduuri saab luua aadressil -

  • Skeemi tasemel (kataloogisõlm)
  • Paketi tasemel (sisusõlm)

SAP HANA salvestatud protseduuri süntaks on näidatud allpool -

SÜNTAKS

LOOMISMENETLUS 
 [(
)] [KEEL ][SQL TURVALISUS ] [DEFAULT SCHEMA ][LOEB SQL-ANDMED [TULEMUSVAATEGA ]] AS{BEGIN [SEQUENTIAL EXECUTION]
LÕPP| AINULT HEADER}

Lause CREATE PROCEDURE loob protseduuri, kasutades mainimisprogrammeerimiskeelt .

Süntaksielemendid

ELEMENDID KIRJELDUS
Protseduuri nimi
Parameeter on siin määratletud. Parameeter IN, OUT, INOUT on olemas. Iga parameeter tähistatakse märksõnadega IN / OUT / INOUT • IN - kasutatakse sisestatava väärtuse edastamiseks protseduuriks INPUT. See on kirjutuskaitstud parameeter. • OUT - kasutatakse protseduuri kui OUTPUT tagastusväärtuse jaoks. • INOUT - kasutatakse protseduuri edastamiseks ja tagastamiseks sama parameetri abil.
KEEL Määratleb protseduuris kasutatava programmeerimiskeele. Vaikimisi: SQLSCRIPT
SQL TURVALISUS Määrab protseduuri turvarežiimi. Vaikimisi: DEFINER • DEFINER - määrab, et protseduur viiakse läbi protseduuri määratleja õigustega. • INVOKER - määrab, et protseduur viiakse läbi protseduuri kutsuja privileegidega.
See määratleb protseduuri kehas kvalifitseerimata objektide skeemi. Kui midagi pole määratletud, kasutatakse protseduuri jaoks seansi praegust skeemi.
LOEB SQL ANDMED See tähistab protseduuri kirjutuskaitstuna, see tähendab, et protseduur ei muuda andmebaasi andmeid ega nende struktuuri ning et protseduur ei sisalda DDL- ega DML-lauseid. See protseduur kutsub ainult teisi kirjutuskaitstud protseduure.
TULEMUSVAATEGA See määratleb tulemuste vaate, mida kasutatakse kirjutuskaitstud protseduuri väljundina. Kui protseduuri jaoks on määratud tulemivaade, saab seda SQL-käsu abil välja kutsuda samas protsessis nagu tabelit või vaadet.
JÄRGMINE TÄITMINE See lause sunnib protseduuriloogikat järjestikku täitma. Paralleelsust ei toimu.
See määratleb valitud programmeerimiskeele põhjal protseduuri põhiosa.
AINULT PEAD Kui kasutatakse ainult päist, luuakse OID-iga ainult protseduuri atribuudid.