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

Оглавление:

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

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

Видео: Разница между представлением и хранимой процедурой
Видео: Лекция 4. Представления и хранимые процедуры 2024, Ноябрь
Anonim

Просмотр и хранимая процедура

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

создать или заменить имя вида

как

select_statement;

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

это

начало

утверждения;

исключение

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

конец;

Просмотр

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

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

Обновляемые представления не могут включать подписки, Установить операторы (INTERSECT, MINUS, UNION, UNION ALL)

ОТЛИЧНЫЕ

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

GROUP BY Пункт

ЗАКАЗАТЬ Пункт

CONNECT BY Пункт

НАЧНИТЕ С Пункт

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

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

Присоединиться к запросу

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

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

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

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

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

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

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

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

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

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

Рекомендуемые: