Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РСБДтЗ / Курс лекций РСБДиЗ.doc
Скачиваний:
135
Добавлен:
05.03.2016
Размер:
1.63 Mб
Скачать

Динамическое изменение границ

declare

n number := 3;

begin

for i in 1..n loop

if n < 10 then

n := n+1;

end if;

dbms_output.put_line(i || ' ' || n);

end loop;

end;

Использование меток

begin

<<l1>>

for i in 1..3 loop

for i in 5..6 loop

dbms_output.put_line(l1.i || ' ' || i);

end loop;

end loop;

end;

begin

<<l1>>

for i in 1..3 loop

for i in 5..6 loop

dbms_output.put_line(l1.i || ' ' || i);

exit l1 when i = 5;

end loop;

end loop;

end;

-- goto

declare

n number;

begin

if n = null then

dbms_output.put_line('in if');

else

goto met1;

end if;

dbms_output.put_line('after if');

<<met1>>

dbms_output.put_line('after met1');

end;

declare

n number := 1;

begin

for i in 1..10 loop

if i = 5 then

goto cont;

end if;

n := n+1;

dbms_output.put_line(n);

<<cont>>

null;

end loop;

end;

Основные объекты. Хранимые процедуры и функции

Хранимая процедура или функция - это подпрограмма, состоящая из SQL операторов и команд процедурного языкаХранимая процедура и функция может:

  • Содержать параметры (аргументы);

  • Вызывать другие процедуры;

  • Возвращать свой статус вызывающей процедуре или пакету, указывающий на успешное окончание или ошибку, и в случае ошибки на ее причину;

  • Возвращать значения параметров вызывающей процедуре или пакету;

  • Выполняется всегда на стороне сервера.

  • Функция кроме того возвращает результат через свое имя.

Хранимые процедуры и функции значительно увеличивают мощность, эффективность и гибкость языка SQL и значительно ускоряют выполнение SQL-операторов и пакетов.

Хранимые процедуры создаются с помощью команды create procedure. Функции создаются с помощью команды -create function. Для выполнения хранимой процедуры, как системной, так и определенной пользователем, используется команда execute (выполнить). Можно также просто указать название хранимой процедуры, если оно является первым словом в операторе или пакете.

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

  • Спецификация, которая объявляет процедуру или функцию и состоит из следующей информации:

    • Имени процедуры

    • Имен и типов данных аргументов, если есть

    • Кроме этого, ТОЛЬКО для функций - типа данных возвращаемого значения

  • Тело, которое определяет процедуру или функцию. Тело процедуры состоит из блока PL/SQL или T-SQL(который содержит предложения SQL и процедурного расширения).

Основные объекты. Триггеры

Триггер - это хранимая процедура специального вида, которая запускается при возникновении какого-либо события, обычно изменения данных в таблице. В частности, триггеры помогают сохранить ссылочную целостностьданных пользователя, проверяя их согласованность в логически связанных таблицах. Основным достоинством триггеров является то, что они вызываются автоматически. Они будут работать независимо от причины, которая вызвала модификацию данных, как, например, после ввода данных клерком, так и при выполнении некоторой прикладной процедуры. Триггер может быть связан с одним или несколькими операторами модификации, такими как updateinsert или delete.

Соседние файлы в папке РСБДтЗ