Разница между представлением и хранимой процедурой

Просмотр против хранимой процедуры
 

Представления и хранимые процедуры - это два типа объектов базы данных. Представления - это разновидности хранимых запросов, которые собирают данные из одной или нескольких таблиц. Вот синтаксис для создания представления

создать или заменить представление viewname

в качестве

select_statement;

Хранимая процедура - это предварительно скомпилированный набор команд SQL, который хранится на сервере базы данных. Каждая хранимая процедура имеет вызывающее имя, которое используется для вызова их внутри других пакетов, процедур и функций. Это синтаксис (в ORACLE) для создания хранимой процедуры,

создать или заменить имя процедуры (параметры)

является

начать

заявления;

исключение

Обработка исключений

конец;

Посмотреть

Представление действует как виртуальная таблица. Он скрывает оператор выбора внутри своего тела. Этот оператор выбора может быть очень сложным, который берет данные из нескольких таблиц и представлений. Следовательно, другими словами, представление является именованным оператором выбора, который хранится в базе данных. Представление может использоваться, чтобы скрыть логику, стоящую за связями таблиц, от конечных пользователей. Поскольку представление является результатом сохраненного запроса, оно не сохраняет никаких данных. Он собирает данные из базовых таблиц и показывает. Представления также играют важную роль в безопасности данных. Когда владельцу таблицы нужно показать только набор данных для конечных пользователей, создание представления является хорошим решением. Представления могут быть разделены на две категории

  • Обновляемые представления (представления, которые можно использовать для INSERT, UPDATE и DELETE).
  • Необновляемые представления (представления, которые нельзя использовать для INSERT, UPDATE и DELETE)

Обновляемые представления не могут включать следующие,

Операторы множества (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

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

Предложение GROUP BY

ЗАКАЗАТЬ по пункту

CONNECT BY пункт

НАЧАТЬ С Пункта

Выражение коллекции в списке выбора

Подзапрос в списке выбора

Присоединиться к Query 

Хранимая процедура

Хранимые процедуры называются программными блоками. У них должно быть имя, чтобы позвонить. Хранимые процедуры принимают параметры как пользовательский ввод и обрабатывают в соответствии с логикой процедуры и дают результат (или выполняют определенное действие). Объявления переменных, назначения переменных, операторы управления, циклы, запросы SQL и другие вызовы функций / процедур / пакетов могут находиться внутри тела процедур.. 

В чем разница между Просмотр и хранимая процедура?

Давайте посмотрим на различия между этими двумя.

• Представления действуют как виртуальные таблицы. Они могут быть использованы непосредственно при закрытии SQL-запросов (выберите), но процедуры не могут быть использованы при закрытии запросов.

• Представления имеют только оператор выбора в качестве своего тела, но процедуры могут иметь объявления переменных, назначения переменных, операторы управления, циклы, запросы SQL и другие вызовы функций / процедур / пакетов в качестве тела..

• Процедура принимает параметры для выполнения, но представления не хотят, чтобы параметры выполнялись.

• Типы записей можно создавать из представлений с использованием% ROWTYPE, но с использованием процедур нельзя создавать типы записей..

• Подсказки SQL могут использоваться в операторе view select для оптимизации плана выполнения, но подсказки SQL не могут использоваться в хранимых процедурах..

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK и DEBUG могут быть предоставлены для представлений, но только EXECUTE и DEBUG могут быть предоставлены для процедур.