Разлика между изглед и съхранена процедура

Съдържание:

Разлика между изглед и съхранена процедура
Разлика между изглед и съхранена процедура

Видео: Разлика между изглед и съхранена процедура

Видео: Разлика между изглед и съхранена процедура
Видео: Байкальский заповедник. Хамар-Дабан. Дельта Селенги. Алтачейский заказник. Nature of Russia. 2024, Юли
Anonim

Изглед срещу съхранена процедура

Изгледите и съхранените процедури са два типа обекти на бази данни. Изгледите са вид съхранени заявки, които събират данни от една или повече таблици. Ето синтаксиса за създаване на изглед

създайте или заменете изглед име на изглед

като

select_statement;

Запазената процедура е предварително компилиран набор от SQL команди, който се съхранява в сървъра на базата данни. Всяка съхранена процедура има извикващо име, което се използва за извикване в други пакети, процедури и функции. Това е синтаксисът (в ORACLE) за създаване на съхранена процедура, създайте или заменете процедура име на процедура (параметри)

е

начало

изявления;

изключение

exception_handling

край;

Преглед

A View действа като виртуална маса. Той скрива оператор select в тялото си. Този оператор за избор може да бъде много сложен, който взема данни от няколко таблици и изгледи. Следователно, с други думи, изгледът е наименуван оператор за избор, който се съхранява в базата данни. Може да се използва изглед, за да се скрие логиката зад връзките на таблицата от крайните потребители. Тъй като изгледът е резултат от съхранена заявка, той не пази никакви данни. Той събира данни от базовите таблици и показва. Изгледите играят важна роля и за сигурността на данните. Когато собственикът на таблицата трябва да покаже само набор от данни на крайните потребители, създаването на изглед е добро решение. Изгледите могат да бъдат разделени в две категории

  • Актуализируеми изгледи (Изгледи, които могат да се използват за INSERT, UPDATE и DELETE)
  • Изгледи без възможност за актуализиране (Изгледи, които не могат да се използват за ВМЪКВАНЕ, АКТУАЛИЗИРАНЕ и ИЗТРИВАНЕ)

Актуализираните изгледи не могат да включват следвания, Оператори за множество (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Групови агрегатни функции (AVG, COUNT, MAX, MIN, SUM и др.)

Клауза ГРУПИРАНЕ ПО

ПОРЪЧКА ПО КЛАУЗА

Клауза за СВЪРЗВАНЕ ПО

ЗАПОЧНЕТЕ С Клауза

Израз на колекция в избран списък

Подзаявка в списък за избор

Присъединяване към заявка

Запазена процедура

Запазените процедури се наричат блокове за програмиране. Те трябва да имат име, което да наричат. Съхранените процедури приемат параметри като въведени от потребителя и обработват според логиката зад процедурата и дават резултат (или извършват конкретно действие). Декларации на променливи, присвоявания на променливи, оператори за управление, цикли, SQL заявки и други извиквания на функции/процедури/пакети могат да бъдат в тялото на процедурите.

Каква е разликата между изглед и съхранена процедура?

Нека видим разликите между тези две.

• Изгледите действат като виртуални таблици. Те могат да се използват директно от затваряне на SQL заявки (избор), но процедурите не могат да се използват от затваряне на заявки.

• Изгледите имат само оператор select като тяло, но процедурите могат да имат декларации на променливи, присвоявания на променливи, контролни оператори, цикли, SQL заявки и други извиквания на функции/процедури/пакети като тяло.

• Процедурата приема параметри за изпълнение, но изгледите не искат параметри за изпълнение.

• Типовете записи могат да се създават от изгледи с помощта на % ROWTYPE, но с помощта на процедури не могат да се създават типове записи.

• SQL подсказките могат да се използват в оператора за избор на изглед, за да се оптимизира планът за изпълнение, но SQL подсказките не могат да се използват в съхранени процедури.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK и DEBUG могат да бъдат предоставени за изгледи, но само EXECUTE и DEBUG могат да бъдат предоставени за процедури.

Препоръчано: