русс | укр

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

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

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

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


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

ВЫЗОВ ПРОЦЕДУР И ФУНКЦИЙ


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


СОЗДАНИЕ ФУНКЦИЙ

Создание функций отличается от создания процедур практически названием инструкции и наличием оператора RETURN:

 

сreate[or replace] function имя_функции [(аргумент1 [{in | out | in out}] тип, … аргумент2 [{in | out | in out}] тип)] return возвращаемый тип{is|as} тело функции оператор return/

 

Оператор RETURNимеет общий синтаксис: RETURNвыражение. Выражение – это возвращаемое значение. Значение выражения преобразуется в тип, указанный в команде RETURNпри описании функции, если, конечно, это значение уже не имеет данный тип.

Ниже приведен пример создания простой хранимой функции:

 

create or replace function get_customer_address (last in varchar2, firsr in varchar2) return varchar2 is

addr varchar2(20);

begin

select address into addr

from customers

where lname=last and fname=first;

return addr;

exception

when others then return NULL;

end get_customer_address;/

Как видно из примера при создании процедур или функций ключевое слово DECLARE в разделе объявления подпрограмм не указывается.

Приложение может вызывать процедуру в анонимном блоке PL/SQL. Вызов функций может осуществляться либо в анонимном блоке посредством оператора присваивания, либо в условии WHEN SQL – оператора.

Приведём примеры:

 

declare

cur_cust_last varchar2(100);

cur_cust_first varchar2(100);

cur_cust_addr varchar2(100);

begin

cur_cust_addr:= get_customer_address(cur_cust_last, cur_cust_first);

end/

 

Вызов функции в условии SQL – оператора:

 

delete from orders

where address= get_customer_address (‘Иванов’,’Иван’);

УПРАВЛЕНИЕ БЛОКАМИ В SQL*Plus

Утилита SQL*Plus – это, пожалуй, самый простой из инструментов разработки программ PL/SQL. Обычно SQL*Plus поставляется вместе с сервером ORACLE и является частью стандартной системы. Он дает пользователям возможность вводить SQL – операторы и блоки в PL/SQL диалоговом режиме. При выполнении SQL – оператора в SQL*Plus заканчивать его необходимо точкой с запятой (см. вышеприведенные примеры). Точка с запятой не является элементом собственно оператора – это признак его окончания. В блоке же точка с запятой является синтаксическим элементом самого блока, а не признаком окончания некоторого оператора. При вводе пользователем ключевого слова DECLARE или BEGIN SQL*Plus распознает это и понимает, что пользователь запускает на выполнение блок PL/SQL, а не SQL – оператор. Признаком завершения блока является косая черта, которая соответствует команде RUN SQL*Plus.



Как уже указывалось, хранимые процедуры можно вызывать только из выполняемого раздела или из раздела обработки исключительных ситуаций блока PL/SQL. В SQL*Plus предлагается удобный и более простой способ вызова хранимых процедур – команда ЕХЕСUТЕ, которая принимает заданные аргументы, автоматически размещает ключевые слова BEGIN и END перед и после указанных аргументов, а затем передает полученный блок серверу базы данных на выполнение.



<== предыдущая лекция | следующая лекция ==>
СОЗДАНИЕ ПРОЦЕДУР | ИСПОЛЬЗОВАНИЕ ОБЪЕКТОВ МОДУЛЯ


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


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

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

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


 


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

 
 

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

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