Differenza Tra Visualizzazione E Stored Procedure

Sommario:

Differenza Tra Visualizzazione E Stored Procedure
Differenza Tra Visualizzazione E Stored Procedure

Video: Differenza Tra Visualizzazione E Stored Procedure

Video: Differenza Tra Visualizzazione E Stored Procedure
Video: Выбор между представлениями, функциями и хранимыми процедурами в SQL с примерами 2024, Potrebbe
Anonim

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.

Raccomandato: