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