Vizualizare vs procedură stocată
Vizualizările și procedurile stocate sunt două tipuri de obiecte de bază de date. Vizualizările sunt un fel de interogări stocate, care adună date dintr-unul sau mai multe tabele. Iată sintaxa pentru a crea o vizualizare
creați sau înlocuiți vizualizarea numelui
as
select_statement;
O procedură stocată este un set de comenzi SQL precompilat, care este stocat în serverul bazei de date. Fiecare procedură stocată are un nume de apelare, care este folosit pentru a le apela în interiorul altor pachete, proceduri și funcții. Aceasta este sintaxa (în ORACLE) pentru a crea o procedură stocată, creați sau înlocuiți procedura nume procedura (parametri)
este
begin
declarații;
excepție
exception_handling
end;
Vizualizare
A View acționează ca o masă virtuală. Ascunde o declarație selectă în interiorul corpului său. Această declarație select poate fi una foarte complexă, care preia date din mai multe tabele și vederi. Prin urmare, cu alte cuvinte, o vizualizare este o instrucțiune select numită, care este stocată în baza de date. O vizualizare poate fi folosită pentru a ascunde logica din spatele relațiilor de tabel de utilizatorii finali. Deoarece o vizualizare este rezultatul unei interogări stocate, nu păstrează nicio dată. Adună date din tabelele de bază și arată. Vizualizările joacă un rol important și în securitatea datelor. Atunci când proprietarul tabelului trebuie să arate doar un set de date utilizatorilor finali, crearea unei vizualizări este o soluție bună. Vizualizările pot fi împărțite în două categorii
- Vizualizări actualizabile (Vizualizările care pot fi folosite pentru INSERT, UPDATE și DELETE)
- Vizualizări care nu se pot actualiza (Vizualizări care nu pot fi folosite pentru INSERT, UPDATE și DELETE)
Vizualizările actualizabile nu pot include următoarele, Setați operatori (INTERSECT, MINUS, UNION, UNION ALL)
DIstinct
Funcții agregate de grup (AVG, COUNT, MAX, MIN, SUM etc.)
GROUP BY clauza
ORDER BY clauza
CONECTARE PRIN clauza
ÎNCEPE CU clauza
Expresie de colecție într-o listă selectată
Sub interogare în lista A Select
Interogare de înscriere
Procedură stocată
Procedurile stocate sunt denumite blocuri de programare. Trebuie să aibă un nume pe care să-l sune. Procedurile stocate acceptă parametrii ca intrare de utilizator și procesează conform logicii din spatele procedurii și dau rezultatul (sau efectuează o acțiune specifică). Declarațiile de variabile, atribuirile de variabile, instrucțiunile de control, buclele, interogările SQL și alte apeluri de funcții/procedură/pachet pot fi în corpul procedurilor.
Care este diferența dintre vizualizare și procedura stocată?
Să vedem diferențele dintre acestea două.
• Vizualizările acționează ca mese virtuale. Ele pot fi folosite direct în interogările de la închiderea SQL (selectați), dar procedurile nu pot fi utilizate în cazul închiderii interogărilor.
• Vizualizările au ca corp doar o instrucțiune select, dar procedurile pot avea ca corp declarații de variabile, atribuiri de variabile, instrucțiuni de control, bucle, interogări SQL și alte apeluri de funcții/procedură/pachet.
• Procedura acceptă parametrii de executat, dar vizualizările nu doresc ca parametrii să fie executați.
• Tipurile de înregistrări pot fi create din vizualizări folosind % ROWTYPE, dar folosind proceduri, tipurile de înregistrări nu pot fi create.
• Sugestiile SQL pot fi utilizate în interiorul instrucțiunii de selectare a vizualizării, pentru a optimiza planul de execuție, dar sugestiile SQL nu pot fi utilizate în procedurile stocate.
• DELETE, INSERT, UPDATE, SELECT, FLASHBACK și DEBUG pot fi acordate pentru vizualizări, dar numai EXECUTE și DEBUG pot fi acordate pentru proceduri.