Differenza tra visualizzazione e stored procedure

Anonim

Visualizza vs stored procedure

crea o sostituisce il nome di vista view

come

select_statement;

Una stored procedure è un set di comandi predefinito SQL che è memorizzato nel server di database. Ogni stored procedure ha un nome chiamante, utilizzato per chiamarli all'interno di altri pacchetti, procedure e funzioni. Questa è la sintassi (in ORACLE) per creare una stored procedure, creare o sostituire procedure procedurename (parametri)

is

begin

dichiarazioni;

eccezione

exception_handling

fine;

Visualizza

Una vista funge da tabella virtuale. Nasconde una dichiarazione selezionata all'interno del suo corpo. Questa dichiarazione di selezione può essere molto complessa, che prende i dati da diverse tabelle e viste. Pertanto, in altre parole, una vista è un'istruzione di selezione chiamata, memorizzata nel database. Una vista può essere usata per nascondere la logica dietro i rapporti di tabella dagli utenti finali. Poiché una vista è un risultato di una query memorizzata, non conserva alcun dato. Raccoglie i dati dalle tabelle di base e dalle esposizioni. 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 visualizzazione è una buona soluzione. Le viste possono essere suddivise in due categorie

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

Le viste aggiornabili non possono include

DISTINCT

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

GROUP BY Clausola

Impostazione di operatori (INTERSECT, MINUS, UNION, UNION ALL) > ORDINAZIONE PER Clausola

CONNECT BY Clausola

INIZIARE con la clausola

Espressione di raccolta in una lista di selezione

Sottoteca in una selezione

Join Query

Procedura memorizzata

blocchi di programmazione denominati. Devono avere un nome da chiamare. Le procedure memorizzate accettano i parametri come input e processo utente secondo la logica dietro la procedura e dare il risultato (o eseguire un'azione specifica). Le dichiarazioni variabili, le assegnazioni variabili, le istruzioni di controllo, loop, query SQL e altre funzioni / procedure / pacchetti di pacchetti possono essere all'interno del corpo delle procedure.

Qual è la differenza tra Vista e stored procedure ?

Vediamo le differenze tra questi due.

• Le viste agiscono come tabelle virtuali. Possono essere utilizzati direttamente da chiudere le query SQL (selezionare), ma le procedure non possono essere utilizzate in chiusura delle query.

• Le viste dispongono solo di un'istruzione selezionata, ma le procedure possono avere dichiarazioni variabili, assegnazioni variabili, istruzioni di controllo, loop, query SQL e altre funzioni / procedure / pacchetti di pacchetti come suo corpo.

• La procedura accetta i parametri da eseguire, ma le visualizzazioni non vogliono eseguire i parametri.

• I tipi di record possono essere creati da viste utilizzando% ROWTYPE, ma utilizzando procedure, non è possibile creare tipi di record.

• Suggerimenti SQL possono essere utilizzati all'interno dell'istruzione select view, 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 in visualizzazioni, ma solo procedure EXECUTE e DEBUG possono essere concesse.