SAP HANA SQL Stored Procedure Tutorial

Hvad er SQL Stored Procedures?

En procedure er en enhed/modul, der udfรธrer en bestemt opgave. Denne procedure kan kombineres til stรธrre programmer. Dette danner dybest set 'Modular Design'. En procedure kan pรฅkaldes af en anden procedure, som kaldes det kaldende program.

Procedurer er genbrugelige behandlingsblokke med en specifik sekvens af datatransformation. Proceduren kan have multi-input/output parametre. Proceduren kan oprettes som skrivebeskyttet eller lรฆse-skrive.

An SQL Procedure kan oprettes pรฅ โ€“

  • Pรฅ skemaniveau (katalognode)
  • Pรฅ pakkeniveau (indholdsknude)

Lagret procedure syntaks i SAP HANA er som vist nedenfor -

SYNTAKS

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-sรฆtningen opretter en procedure ved hjรฆlp af programmeringssproget omtale .

SYNTAKSEELEMENTER

ELEMENTER BESKRIVELSE
Procedurenavn
Parameteren er defineret her. IN, OUT, INOUT parameter er der. Hver parameter er markeret med nรธgleordene IN/OUT/INOUT

โ€ข IN โ€“ Bruges til Pass Value To-proceduren som INPUT. Det er Read Only parameter.

โ€ข OUT โ€“ Bruges til returvรฆrdi fra procedure som OUTPUT.

โ€ข INOUT โ€“ Bruges til Pass og Return Value To Procedure med samme parameter.

SPROG Definerer det programmeringssprog, der bruges i proceduren. Standard: SQLSCRIPT
SQL SIKKERHED Angiver procedurens sikkerhedstilstand. Standard: DEFINER

โ€ข DEFINER โ€“ Specificerer, at udfรธrelsen af โ€‹โ€‹proceduren udfรธres med de rettigheder, som defineres af proceduren.

โ€ข INVOKER โ€“ Specificerer, at udfรธrelsen af โ€‹โ€‹proceduren udfรธres med rettighederne for den, der pรฅkalder proceduren.

Den definerer skemaet for ukvalificerede objekter i procedurelegemet. Hvis intet er defineret, bruges det aktuelle skema for sessionen til proceduren.
Lร†SER SQL DATA Det markerer proceduren som vรฆrende skrivebeskyttet, det betyder, at proceduren ikke รฆndrer databasedataene eller dens struktur, og at proceduren ikke indeholder DDL- eller DML-sรฆtninger. Denne procedure kalder kun andre skrivebeskyttede procedurer.
MED RESULTATVISNING Den definerer resultatvisningen, der skal bruges som output af en skrivebeskyttet procedure.
Hvis en resultatvisning er angivet for en procedure, kan den kaldes af en SQL sรฆtning i samme proces som en tabel eller visning.
SEKVENTIEL UDFร˜RELSE Denne erklรฆring vil fremtvinge sekventiel udfรธrelse af procedurelogikken. Der finder ingen parallelitet sted.
Den definerer hoveddelen af โ€‹โ€‹proceduren baseret pรฅ det valgte programmeringssprog.
KUN OVERSKRIFT Hvis kun Header bruges, oprettes kun procedureegenskaber med OID.

Opsummer dette indlรฆg med: