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