Differenza tra vista e procedura memorizzata

Sommario:

Differenza tra vista e procedura memorizzata
Differenza tra vista e procedura memorizzata

Video: Differenza tra vista e procedura memorizzata

Video: Differenza tra vista e procedura memorizzata
Video: Cos’è la carriera alias e come funziona per gli studenti e le studentesse transgender? 2024, Luglio
Anonim

Visualizza vs stored procedure

Le viste e le procedure memorizzate sono due tipi di oggetti di database. Le viste sono una sorta di query memorizzate, che raccolgono dati da una o più tabelle. Ecco la sintassi per creare una vista

crea o sostituisci vista viewname

come

select_statement;

Una procedura memorizzata è un set di comandi SQL precompilato, memorizzato nel server del database. Ogni procedura memorizzata ha un nome chiamante, che viene utilizzato per chiamarla all'interno di altri pacchetti, procedure e funzioni. Questa è la sintassi (in ORACLE) per creare una procedura memorizzata, crea o sostituisci procedura nomeprocedura (parametri)

è

inizio

dichiarazioni;

eccezione

exception_handling

fine;

Visualizza

A View funge da tavolo virtuale. Nasconde un'istruzione select all'interno del suo corpo. Questa istruzione select può essere molto complessa, poiché 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 vista per nascondere agli utenti finali la logica dietro le relazioni tra tabelle. Poiché una vista è il risultato di una query archiviata, non conserva alcun dato. Raccoglie i dati dalle tabelle di base e mostra. Anche le viste svolgono un ruolo importante nella sicurezza dei dati. Quando il proprietario della tabella deve mostrare solo un insieme di dati agli utenti finali, la creazione di una vista è una buona soluzione. Le visualizzazioni possono essere divise in due categorie

  • Viste aggiornabili (Viste che possono essere utilizzate per INSERT, UPDATE e DELETE)
  • Viste non aggiornabili (visualizzazioni che non possono essere utilizzate per INSERT, UPDATE e DELETE)

Le viste aggiornabili non possono includere i seguenti, Set Operatori (INTERSECT, MINUS, UNION, UNION ALL)

DISTINTA

Funzioni di aggregazione di gruppo (AVG, COUNT, MAX, MIN, SUM, ecc.)

GRUPPO PER Clausola

ORDINA PER Clausola

CONNESSIONE PER Clausola

INIZIA CON Clausola

Espressione raccolta in un elenco selezionato

Sub query in A Select List

Unisciti alla query

Procedura archiviata

Le stored procedure sono denominate blocchi di programmazione. Devono avere un nome da chiamare. Le stored procedure accettano parametri come input dell'utente ed elaborano secondo la logica alla base della procedura e forniscono 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 fungono da 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 funzioni/procedure/chiamate di pacchetti come corpo.

• La procedura accetta i parametri da eseguire, ma le viste non vogliono che i parametri vengano eseguiti.

• È possibile creare tipi di record dalle viste utilizzando % ROWTYPE, ma utilizzando le procedure non è possibile creare tipi di record.

• Gli hint SQL possono essere utilizzati all'interno dell'istruzione view select, per ottimizzare il piano di esecuzione, ma gli hint SQL non possono essere utilizzati nelle stored procedure.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK e DEBUG possono essere concessi sulle viste, ma solo EXECUTE e DEBUG possono essere concessi sulle procedure.

Consigliato: