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. |