русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

СОЗДАНИЕ ПРОЦЕДУР


Дата добавления: 2013-12-24; просмотров: 1313; Нарушение авторских прав


Хранимые процедуры и функции

Анонимные блоки

Анонимный блок, или блок без имени, – это блок PL/SQL, не хранящийся в базе данных. В процессе работы приложение просто посылает такой кодовый блок серверу баз данных, и после его обработки сервером блок прекращает существование.

В предыдущих примерах этой главы все блоки были анонимными блоками PL/SQL, в которых раздел объявлений, начинался с ключевого слова DECLARE и заканчивался ключевым слово END.

Подпрограмма – это именованная программа PL/SQL, которая может использовать параметры и вызываться приложением. Скомпилированный двоичный код логических схем приложения можно хранить в базе данных ORACLE при помощи хранимых подпрограмм. В базе данных ORACLE можно хранить в качестве объектов схем подпрограммы двух типов: хранимые процедуры и хранимые функции. Хранимые процедуры и функции в отличие от анонимных блоков сохраняются в базе данных и наряду с таблицами, представлениями и др. являются самостоятельными объектами баз данных ORACLE. Процедуры и функции сохраняются в базе данных в откомпилированном виде, и при их вызове загружаются в разделяемый пул (pool – системная область памяти СУБД), откуда удаляются по мере его заполнения в порядке частоты использования кода процедуры или функции. Наиболее редко используемый код, разумеется, удаляется раньше, и при очередном вызове данный код снова загружается в пул с диска. Такая организация способствует производительности выполнения вызываемых процедур и функций, поскольку исключает постоянную загрузку с диска, исполняемого кода. Хранимая функция отличается от процедуры тем, что функция в отличие от процедуры возвращает значения в вызывающую среду.

Для создания в базе данных ORACLE хранимой процедуры или функции применяется команда CREATE PROCEDURE или CREATE FUNCTION.



Как уже указывалось, процедуры создаются посредством инструкции PL/SQL CREATE PROCEDURE:

 

сreate[or replace] procedure имя_процедуры [(аргумент1 [{in | out | in out}] тип, … аргумент2 [{in | out | in out}] тип)] {is|as} тело процедуры/

 

Чтобы изменить текст процедуры, её необходимо удалить, а затем повторно создать. Во время разработки процедур эта операция повторяется достаточно часто, поэтому ключевые слова OR REPLACE позволяют выполнить такую операцию за один раз. Если процедура существует, то она удаляется без всякого предупреждения (в данном случае вызов инструкции DROP PROCEDURE не требуется), если же не существовала, то она просто создаётся.

Параметры IN, OUT и IN OUT используются как при создании процедур, так и функций. Смысл параметра INв следующем: Значение физического параметра передаётся в функцию. Внутри процедуры формальный параметр рассматривается в качестве константы PL/SQL (параметр только для чтения) и не может быть изменен. Когда процедура завершается, и управление программой передаётся в вызывающую среду, фактический параметр не изменяется. При использовании параметра OUT, любое значение, которое имеет фактический параметр при вызове процедуры, игнорируется. Внутри процедуры формальный параметр рассматривается в качестве неинициализированной переменной, т. е содержит NULL – значение, и можно как записать в него значение, так и считать значение из него. Когда управление передаётся в вызывающую среду, содержание формальной переменной присваивается фактическому параметру. Параметр IN OUT это комбинация параметров INи OUT. В данном случае формальный параметр рассматривается в качестве инициализированной переменной.



<== предыдущая лекция | следующая лекция ==>
Обработка исключительных ситуаций | ВЫЗОВ ПРОЦЕДУР И ФУНКЦИЙ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.157 сек.