SAP Veiledning for HANA SQL lagret prosedyre

Hva er SQL-lagrede prosedyrer?

En prosedyre er en enhet/modul som utfører en bestemt oppgave. Denne prosedyren kan kombineres for å danne større programmer. Dette danner i utgangspunktet "Modular Design". En prosedyre kan påkalles av en annen prosedyre som kalles det anropende programmet.

Prosedyrer er gjenbrukbare prosesseringsblokker med en spesifikk sekvens av datatransformasjon. Prosedyren kan ha multi-input/output parametere. Prosedyren kan opprettes som skrivebeskyttet eller lese-skrive.

An SQL Prosedyre kan opprettes på –

  • På skjemanivå (katalognode)
  • På pakkenivå (innholdsnode)

Lagret prosedyresyntaks i SAP HANNA 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-setningen oppretter en prosedyre ved å bruke programmeringsspråket omtale .

SYNTAKSEELEMENTER

ELEMENTS BESKRIVELSE
Navn på prosedyre
Parameteren er definert her. IN, OUT, INOUT parameter er der. Hver parameter er merket med nøkkelordene IN/OUT/INOUT

• IN – Brukes for Pass Value To-prosedyre som INNPUT. Det er Read Only-parameter.

• OUT – Brukes for returverdi fra prosedyre som OUTPUT.

• INOUT – Brukes for Pass og Return Value To Procedure med samme parameter.

SPRÅK Definerer programmeringsspråket som brukes i prosedyren. Standard: SQLSCRIPT
SQL SIKKERHET Spesifiserer sikkerhetsmodusen for prosedyren. Standard: DEFINER

• DEFINER – Spesifiserer at utføringen av prosedyren utføres med rettighetene til definereren av prosedyren.

• INVOKER – Spesifiserer at utføringen av prosedyren utføres med rettighetene til den som påkaller prosedyren.

Den definerer skjemaet for ukvalifiserte objekter i prosedyrekroppen. Hvis ingenting er definert, brukes det gjeldende skjemaet for sesjonen for prosedyren.
LESER SQL DATA Det markerer prosedyren som skrivebeskyttet, det betyr at prosedyren ikke endrer databasedataene eller strukturen og at prosedyren ikke inneholder DDL- eller DML-setninger. Denne prosedyren kaller bare andre skrivebeskyttede prosedyrer.
MED RESULTATVISNING Den definerer resultatvisningen som skal brukes som utdata for en skrivebeskyttet prosedyre.
Hvis en resultatvisning er spesifisert for en prosedyre, kan den kalles opp av en SQL uttalelse i samme prosess som en tabell eller visning.
SEKVENSIELL UTFØRELSE Denne uttalelsen vil tvinge frem sekvensiell utførelse av prosedyrelogikken. Ingen parallellitet finner sted.
Den definerer hoveddelen av prosedyren basert på det valgte programmeringsspråket.
KUN OVERSKRIFT Hvis bare overskrift brukes, opprettes kun prosedyreegenskaper med OID.