Różnica między widokiem a procedurą zapisaną

Spisu treści:

Różnica między widokiem a procedurą zapisaną
Różnica między widokiem a procedurą zapisaną

Wideo: Różnica między widokiem a procedurą zapisaną

Wideo: Różnica między widokiem a procedurą zapisaną
Wideo: [EN] FAQ 005217 | Jaka jest różnica między „analizą elementów skończonych” a „analizą konstrukcji... 2024, Listopad
Anonim

Wyświetl a procedura zapisana

Widoki i procedury składowane to dwa typy obiektów bazy danych. Widoki są rodzajem przechowywanych zapytań, które zbierają dane z jednej lub kilku tabel. Oto składnia do tworzenia widoku

utwórz lub zamień nazwę widoku widoku

jako

select_statement;

Procedura składowana to wstępnie skompilowany zestaw poleceń SQL, który jest przechowywany na serwerze bazy danych. Każda procedura składowana ma nazwę wywołującą, która jest używana do wywoływania ich wewnątrz innych pakietów, procedur i funkcji. To jest składnia (w ORACLE) do tworzenia procedury składowanej, utwórz lub zamień nazwę procedury procedury (parametry)

jest

początek

wypowiedzi;

wyjątek

exception_handling

end;

Wyświetl

Widok działa jak wirtualny stół. Ukrywa instrukcję select w swoim ciele. Ta instrukcja select może być bardzo złożona i pobiera dane z kilku tabel i widoków. Innymi słowy, widok jest nazwaną instrukcją SELECT, która jest przechowywana w bazie danych. Widoku można użyć do ukrycia logiki stojącej za relacjami tabel przed użytkownikami końcowymi. Ponieważ widok jest wynikiem zapisanego zapytania, nie przechowuje żadnych danych. Zbiera dane z tabel bazowych i pokazów. Widoki odgrywają również ważną rolę w bezpieczeństwie danych. Gdy właściciel tabeli musi pokazać użytkownikom końcowym tylko zestaw danych, dobrym rozwiązaniem jest utworzenie widoku. Widoki można podzielić na dwie kategorie

  • Widoki aktualizowalne (widoki, których można używać do WSTAWIANIA, AKTUALIZACJI i USUWANIA)
  • Widoki, których nie można aktualizować (widoki, których nie można używać do WSTAWIANIA, AKTUALIZACJI i USUWANIA)

Widoki, które można aktualizować nie mogą zawierać następujących, Operatory zbioru (PRZECIĘCIE, MINUS, UNION, UNION ALL)

DISTINCT

Funkcje agregacji grup (ŚREDNIA, LICZBA, MAKS, MIN, SUMA itd.)

GRUPA WEDŁUG klauzuli

ZAMÓW WG klauzuli

klauzula CONNECT BY

ROZPOCZNIJ Klauzule

Wyrażenie kolekcji na liście wyboru

Zapytanie dodatkowe na liście wyboru

Dołącz do zapytania

Procedura przechowywana

Procedury składowane nazywane są blokami programistycznymi. Muszą mieć imię, do którego mogą zadzwonić. Procedury składowane akceptują parametry jako dane wejściowe użytkownika i przetwarzają zgodnie z logiką procedury i podają wynik (lub wykonują określoną akcję). Deklaracje zmiennych, przypisania zmiennych, instrukcje sterujące, pętle, zapytania SQL i inne wywołania funkcji/procedur/pakietów mogą znajdować się w ciele procedur.

Jaka jest różnica między widokiem a procedurą zapisaną?

Pokażmy różnice między tymi dwoma.

• Widoki działają jak wirtualne tabele. Mogą być używane bezpośrednio z zamknięcia zapytań SQL (wybierz), ale procedury nie mogą być używane z zamknięcia zapytań.

• Widoki mają tylko instrukcję select jako swoją treść, ale procedury mogą zawierać deklaracje zmiennych, przypisania zmiennych, instrukcje sterujące, pętle, zapytania SQL i inne wywołania funkcji/procedury/pakietów.

• Procedura akceptuje parametry do wykonania, ale widoki nie chcą, aby parametry były wykonywane.

• Typy rekordów mogą być tworzone z widoków przy użyciu % ROWTYPE, ale przy użyciu procedur nie można tworzyć typów rekordów.

• Podpowiedzi SQL można używać wewnątrz instrukcji SELECT widoku, aby zoptymalizować plan wykonania, ale podpowiedzi SQL nie można używać w procedurach składowanych.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK i DEBUG mogą być przyznawane w widokach, ale tylko EXECUTE i DEBUG mogą być przyznawane dla procedur.

Zalecana: