Visualizza vs stored procedure
Le visualizzazioni e le stored procedure sono due tipi di oggetti di database. Le viste sono una specie di query archiviate, che raccolgono dati da una o più tabelle. Ecco la sintassi per creare una vista
creare o sostituire view viewname
come
select_statement;
Una procedura memorizzata è un set di comandi SQL precompilato, memorizzato nel server di database. Ogni stored procedure ha un nome chiamante, che viene utilizzato per chiamarle all'interno di altri pacchetti, procedure e funzioni. Questa è la sintassi (in ORACLE) per creare una stored procedure, creare o sostituire la procedura nome procedura (parametri)
è
inizio
dichiarazioni;
eccezione
la gestione delle eccezioni
fine;
Visualizza
Una vista funge da tabella virtuale. Nasconde un'istruzione select all'interno del suo corpo. Questa istruzione select può essere molto complessa, che prende i dati da diverse tabelle e viste. Pertanto, in altre parole, una vista è un'istruzione select denominata, che viene archiviata nel database. È possibile utilizzare una visualizzazione per nascondere agli utenti finali la logica alla base delle relazioni tra tabelle. Poiché una visualizzazione è il risultato di una query archiviata, non conserva alcun dato. Raccoglie i dati dalle tabelle e dagli spettacoli di base. Anche le visualizzazioni svolgono un ruolo importante nella sicurezza dei dati. Quando il proprietario della tabella deve mostrare solo un set di dati agli utenti finali, la creazione di una visualizzazione è una buona soluzione. Le visualizzazioni possono essere suddivise in due categorie
- Visualizzazioni aggiornabili (visualizzazioni che possono essere utilizzate per INSERT, UPDATE e DELETE)
- Visualizzazioni non aggiornabili (visualizzazioni che non possono essere utilizzate per INSERT, UPDATE e DELETE)
Le visualizzazioni aggiornabili non possono includere quanto segue, Imposta operatori (INTERSECT, MINUS, UNION, UNION ALL)
DISTINTO
Funzioni aggregate di gruppo (AVG, COUNT, MAX, MIN, SUM, ecc.)
Clausola GROUP BY
ORDER BY clausola
Clausola CONNECT BY
Clausola INIZIA CON
Espressione di raccolta in un elenco di selezione
Sottoquery in un elenco di selezione
Partecipa a Query
Procedura memorizzata
Le stored procedure sono denominate blocchi di programmazione. Devono avere un nome da chiamare. Le stored procedure accettano i parametri come input dell'utente ed elaborano secondo la logica alla base della procedura e danno il risultato (o eseguono un'azione specifica). Dichiarazioni di variabili, assegnazioni di variabili, istruzioni di controllo, cicli, query SQL e altre funzioni / procedure / chiamate di pacchetti possono essere all'interno del corpo delle procedure.
Qual è la differenza tra View e Stored Procedure? Vediamo le differenze tra questi due. • Le viste agiscono come tabelle virtuali. Possono essere utilizzati direttamente dalla chiusura delle query SQL (seleziona), ma le procedure non possono essere utilizzate dalla chiusura delle query. • Le viste hanno solo un'istruzione select come corpo, ma le procedure possono avere dichiarazioni di variabili, assegnazioni di variabili, istruzioni di controllo, cicli, query SQL e altre chiamate di funzioni / procedure / pacchetti come corpo. • La procedura accetta i parametri da eseguire, ma le viste non vogliono che i parametri vengano eseguiti. • I tipi di record possono essere creati dalle viste utilizzando% ROWTYPE, ma utilizzando le procedure, i tipi di record non possono essere creati. • I suggerimenti SQL possono essere utilizzati all'interno dell'istruzione view select, per ottimizzare il piano di esecuzione, ma i suggerimenti SQL non possono essere utilizzati nelle procedure memorizzate. • DELETE, INSERT, UPDATE, SELECT, FLASHBACK e DEBUG possono essere concessi sulle viste, ma solo EXECUTE e DEBUG possono essere concessi sulle procedure. |