SAP Vodič za HANA SQL pohranjenu proceduru
Što su SQL pohranjene procedure?
Procedura je jedinica/modul koji obavlja određeni zadatak. Ovaj se postupak može kombinirati u veće programe. Ovo u osnovi čini 'Modularni dizajn'. Procedura se može pozvati drugom procedurom koja se zove pozivni program.
Procedure su blok obrade koji se može ponovno koristiti s određenim slijedom transformacije podataka. Procedura može imati više ulazno/izlaznih parametara. Procedura se može kreirati kao samo za čitanje ili za čitanje i pisanje.
An SQL Procedura se može kreirati na –
- Na razini sheme (kataloški čvor)
- Na razini paketa (čvor sadržaja)
Sintaksa pohranjene procedure u SAP HANNA je kao što je prikazano u nastavku –
SINTAKSA
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 }
Naredba CREATE PROCEDURE stvara proceduru koristeći spomenuti programski jezik .
ELEMENTI SINTAKSE
| ELEMENTI | OPIS |
|---|---|
| Naziv postupka | |
| Ovdje je definiran parametar. IN, OUT, INOUT parametar je tu. Svaki parametar je označen pomoću ključnih riječi IN/OUT/INOUT
• IN – Koristi se za proceduru Pass Value To kao INPUT. Parametar je samo za čitanje. • OUT – Koristi se za povratnu vrijednost iz procedure kao OUTPUT. • INOUT – Koristi se za prolaz i vraćanje vrijednosti u proceduru istim parametrom. |
|
| JEZIK | Definira programski jezik koji se koristi u postupku. Zadano: SQLSCRIPT |
| SQL SIGURNOST | Određuje sigurnosni način postupka. Zadano: DEFINER
• DEFINER – Određuje da se izvršavanje procedure izvodi s privilegijama definirača procedure. • INVOKER – Određuje da se izvršavanje procedure izvodi s privilegijama invokera procedure. |
| Definira shemu za nekvalificirane objekte u tijelu procedure. Ako ništa nije definirano, tada se za proceduru koristi trenutna shema sesije. | |
| ČITA SQL PODATKE | Označava proceduru kao samo za čitanje, znači da procedura ne mijenja podatke baze podataka ili njezinu strukturu i da procedura ne sadrži DDL ili DML izjave. Ova procedura poziva samo druge procedure samo za čitanje. |
| S PRIKAZOM REZULTATA | Definira prikaz rezultata koji će se koristiti kao izlaz procedure samo za čitanje. Ako je pregled rezultata naveden za proceduru, tada ga može pozvati an SQL izjava u istom procesu kao tablica ili pogled. |
| SEKVENCIJALNO IZVOĐENJE | Ova izjava će prisiliti sekvencijalno izvršavanje logike procedure. Nema paralelizma. |
| Definira glavni dio procedure na temelju odabranog programskog jezika. | |
| SAMO ZAGLAVLJE | Ako se koristi samo zaglavlje, tada se s OID-om stvaraju samo svojstva procedure. |
