Rozdiel medzi zobrazením a uloženou procedúrou

Obsah:

Rozdiel medzi zobrazením a uloženou procedúrou
Rozdiel medzi zobrazením a uloženou procedúrou

Video: Rozdiel medzi zobrazením a uloženou procedúrou

Video: Rozdiel medzi zobrazením a uloženou procedúrou
Video: Čo je keramika? Neznámy svet materiálov (Dušan Galusek) 2024, Júl
Anonim

Zobraziť vs. uložená procedúra

Pohľady a uložené procedúry sú dva typy databázových objektov. Pohľady sú druhom uložených dotazov, ktoré zhromažďujú údaje z jednej alebo viacerých tabuliek. Tu je syntax na vytvorenie zobrazenia

vytvoriť alebo nahradiť viewname

as

select_statement;

Uložená procedúra je predkompilovaná sada príkazov SQL, ktorá je uložená na databázovom serveri. Každá uložená procedúra má volajúci názov, ktorý sa používa na ich volanie v iných balíkoch, procedúrach a funkciách. Toto je syntax (v ORACLE) na vytvorenie uloženej procedúry, vytvoriť alebo nahradiť procedúru názov procedúry (parametre)

is

begin

statements;

výnimka

exception_handling

end;

Zobraziť

A View funguje ako virtuálna tabuľka. Vo svojom tele skrýva príkaz select. Tento príkaz select môže byť veľmi zložitý, ktorý preberá údaje z niekoľkých tabuliek a zobrazení. Preto, inými slovami, pohľad je pomenovaný príkaz select, ktorý je uložený v databáze. Pohľad možno použiť na skrytie logiky za vzťahmi tabuľky pred koncovými používateľmi. Keďže zobrazenie je výsledkom uloženého dotazu, neuchováva žiadne údaje. Zhromažďuje údaje zo základných tabuliek a relácií. Pohľady zohrávajú dôležitú úlohu aj pri bezpečnosti údajov. Keď vlastník tabuľky potrebuje zobraziť koncovým používateľom iba množinu údajov, dobrým riešením je vytvorenie zobrazenia. Pohľady možno rozdeliť do dvoch kategórií

  • Zobrazenia s možnosťou aktualizácie (zobrazenia, ktoré možno použiť na INSERT, UPDATE a DELETE)
  • Neaktualizovateľné zobrazenia (zobrazenia, ktoré nemožno použiť na INSERT, UPDATE a DELETE)

Zobrazenia s možnosťou aktualizácie nemôžu zahŕňať nasledujúce položky, Nastaviť operátorov (INTERECT, MINUS, UNION, UNION ALL)

DISTINCT

Skupinové súhrnné funkcie (AVG, COUNT, MAX, MIN, SUM atď.)

GROUP BY Clause

OBJEDNÁVKA PODĽA klauzuly

SPOJIŤ PODĽA klauzuly

ZAČAŤ DOložkou

Výraz kolekcie vo vybratom zozname

Poddotaz v zozname výberu

Pripojiť sa k dopytu

Uložená procedúra

Uložené procedúry sa nazývajú programovacie bloky. Musia mať meno. Uložené procedúry akceptujú parametre ako vstup používateľa a spracovávajú podľa logiky procedúry a poskytujú výsledok (alebo vykonávajú špecifickú akciu). Deklarácie premenných, priradenia premenných, riadiace príkazy, cykly, SQL dotazy a ďalšie volania funkcií/postupov/balíkov môžu byť súčasťou tela procedúr.

Aký je rozdiel medzi zobrazením a uloženou procedúrou?

Pozrime sa na rozdiely medzi týmito dvoma.

• Pohľady fungujú ako virtuálne tabuľky. Môžu byť použité priamo v závere SQL dotazov (vyberte), ale procedúry nie je možné použiť v závere dotazov.

• Telo pohľadov je iba príkaz select, ale procedúry môžu mať ako telo deklarácie premenných, priradenia premenných, riadiace príkazy, cykly, SQL dotazy a ďalšie volania funkcií/postupov/balíkov.

• Procedúra akceptuje parametre na vykonanie, ale zobrazenia nechcú, aby sa parametre spustili.

• Typy záznamov je možné vytvoriť zo zobrazení pomocou % ROWTYPE, ale pomocou procedúr nie je možné typy záznamov vytvoriť.

• Tipy SQL je možné použiť vo vnútri príkazu view select na optimalizáciu plánu vykonávania, ale tipy SQL nemožno použiť v uložených procedúrach.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK a DEBUG je možné udeliť pre zobrazenia, ale pre postupy je možné udeliť iba EXECUTE a DEBUG.

Odporúča: