Rozdíl mezi zobrazením a uloženou procedurou

Obsah:

Rozdíl mezi zobrazením a uloženou procedurou
Rozdíl mezi zobrazením a uloženou procedurou

Video: Rozdíl mezi zobrazením a uloženou procedurou

Video: Rozdíl mezi zobrazením a uloženou procedurou
Video: Hookův zákon Křivka deformace 2024, Listopad
Anonim

Zobrazit vs. uložená procedura

Pohledy a uložené procedury jsou dva typy databázových objektů. Pohledy jsou druhem uložených dotazů, které shromažďují data z jedné nebo více tabulek. Zde je syntaxe pro vytvoření pohledu

vytvořit nebo nahradit viewname

as

select_statement;

Uložená procedura je předkompilovaná sada příkazů SQL, která je uložena na databázovém serveru. Každá uložená procedura má volající název, který se používá k jejich volání uvnitř jiných balíčků, procedur a funkcí. Toto je syntaxe (v ORACLE) pro vytvoření uložené procedury, vytvořit nebo nahradit proceduru název procedury (parametry)

is

begin

statements;

výjimka

exception_handling

end;

Zobrazit

A View funguje jako virtuální stůl. Uvnitř těla skrývá příkaz select. Tento příkaz select může být velmi složitý a přebírá data z několika tabulek a pohledů. Jinými slovy tedy pohled je pojmenovaný příkaz select, který je uložen v databázi. Ke skrytí logiky za vztahy tabulek před koncovými uživateli lze použít pohled. Vzhledem k tomu, že pohled je výsledkem uloženého dotazu, neuchovává žádná data. Shromažďuje data ze základních tabulek a pořadů. Pohledy hrají důležitou roli také v zabezpečení dat. Když vlastník tabulky potřebuje koncovým uživatelům zobrazit pouze sadu dat, je vytvoření pohledu dobrým řešením. Pohledy lze rozdělit do dvou kategorií

  • Aktualizovatelné pohledy (zobrazení, která lze použít pro INSERT, UPDATE a DELETE)
  • Neaktualizovatelné pohledy (zobrazení, která nelze použít pro INSERT, UPDATE a DELETE)

Aktualizovatelné pohledy nemohou zahrnovat následující položky, Nastavit operátory (INTERECT, MINUS, UNION, UNION ALL)

DISTINCT

Skupinové agregační funkce (AVG, COUNT, MAX, MIN, SUM atd.)

GROUP BY Clause

OBJEDNAT PODLE klauzule

SPOJIT PODLE klauzule

ZAČÍT DOložkou

Výraz kolekce ve vybraném seznamu

Poddotaz ve vybraném seznamu

Připojit se k dotazu

Uložená procedura

Uložené procedury se nazývají programovací bloky. Musí mít jméno. Uložené procedury přijímají parametry jako uživatelský vstup a zpracovávají podle logiky procedury a poskytují výsledek (nebo provádějí konkrétní akci). V těle procedur mohou být deklarace proměnných, přiřazení proměnných, řídicí příkazy, smyčky, dotazy SQL a další volání funkcí/postupů/balíčků.

Jaký je rozdíl mezi zobrazením a uloženou procedurou?

Podívejme se na rozdíly mezi těmito dvěma.

• Pohledy fungují jako virtuální tabulky. Lze je použít přímo při uzavření SQL dotazů (vyberte), ale procedury nelze použít při uzavření dotazů.

• Pohledy mají jako tělo pouze příkaz select, ale procedury mohou mít jako tělo deklarace proměnných, přiřazení proměnných, řídicí příkazy, cykly, dotazy SQL a další volání funkcí/postupů/balíčků.

• Procedura přijímá parametry ke spuštění, ale pohledy nechtějí, aby se parametry spouštěly.

• Typy záznamů lze vytvořit z pohledů pomocí % ROWTYPE, ale pomocí procedur nelze typy záznamů vytvořit.

• Tipy SQL lze použít uvnitř příkazu view select k optimalizaci plánu provádění, ale tipy SQL nelze použít v uložených procedurách.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK a DEBUG lze udělit pro zobrazení, ale u procedur lze udělit pouze EXECUTE a DEBUG.

Doporučuje: