рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

В начало

В начало - раздел Программирование, БАЗИСНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА PL/SQL 4. Программные Конструкции Pl/sql ...

4. ПРОГРАММНЫЕ КОНСТРУКЦИИ PL/SQL

В PL/SQL имеется множество различных программных конструкций, начиная с модулей разных видов и заканчивая логическими конструкциями, управляющими потоком информации. Пользуясь PL/SQL, разработчик может создавать программные модули многора­зового применения, скрывающие сложность исполнения операции за ее именем. Например, процесс добавления записи о служащем в базу данных компании может быть весьма сложен, обязывая ввести записи в несколько различных таблиц для нескольких различных приложений. Добавить записи в каждую из систем можно с помощью хранимых процедур, а пользователю будет казаться, что нужно выполнить лишь одну операцию на экране — ввести данные.

 


Рис.2 Модульность и PL/SQL

В действительности же ввод данных на экране может привести к вызову десятков отдельных процедур, каждая из которых предназначена для обработки одного маленького компонента общего процесса добавления сведений о служащем. Иногда эти компоненты являются много­кратно используемыми программными блоками ввода данных, которые берутся из различных приложений для работы с людскими ресурсами и изменяются на новом экране в соответствии с вводимыми данными. На рис. 2 показано, как модульность реализуется в блоках PL/SQL.

Программные конструкции PL/SQL в Oracle бывают двух видов Во-первых, это именованные блоки PL/SQL, которые хранятся в базе данных и к которым могут обращаться по имени другие блоки PL/SQL или пользователь из командной строки SQL*Plus. При передаче именованного программного блока в Oracle база данных подвергает его грамматическому разбору и компилирует его, а затем сохраняет с присвоенным ему именем.

Кроме именованных, существуют и неименованные, или анонимные, блокиPL/SQL. Анонимный блок состоит из нескольких команд PL/SQL, которые все сразу передаются в Oracle для грамматического разбора и исполнения. Анонимные блоки не хранятся в базе данных Oracle так, как именованные блоки. Oracle подвергает операторы грамматическому разбору и исполняет их при передаче блока.

Именованные и анонимные блоки PL/SQL состоят из трех компонентов: раздела объявлений переменных, исполняемого раздела и обработчика исключительных ситуаций (таблица 7). В необязательном разделе объявлений описываются все конструкции переменных, которые будут использоваться в программном блоке. Переменная может иметь любой тип данных, доступный в базе данных Oracle, а также ряд других типов, при­меняемых только в PL/SQL. Исполняемый раздел блока PL/SQL обязателен и начи­нается с ключевого слова begin, заканчиваясь либо ключевым словом end для всего программного блока, либо ключевым словом exception. Последний компо­нент блока PL/SQL — это обработчик исключительных ситуаций, где описываются все ошибки, которые могут произойти в блоке, и указываются способы их обработки. В PL/SQL обработчик исключительных ситуаций необязателен.

 

Таблица 7. Компоненты блоков PL/SQL

Анонимный блок Именованный блок
DECLARE …. BEGIN ….   EXCEPTION …. END /* Начало раздела объявлений. */   /* Начало исполняемого раздела программного блока. */   /* Начало обработчика исключительных ситуаций. */   IS …. BEGIN ….   EXCEPTION …. END /* Начало раздела объявлений. */   /* Начало исполняемого раздела программного блока. */   /* Начало обработчика исключительных ситуаций. */
       

 

Блоки PL/SQL могут быть вложенными друг в друга, так что конструкция begin-exception-end может находиться внутри другого блока.

Именованные программные блоки PL/SQL подразделяются на четыре класса: хранимые процедуры, функции, модули (пакеты) и триггеры.

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

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

Модуль (или пакет) - именованный программный блок PL/SQL, состоящий из совокупности именованных процедур и функций и имеет две части Первая часть - это спецификация, или описание (specification), где перечисляются применяемые процедуры и функции, а также их параметры, константы и объявления пользовательских типов. Вторая часть — тело (body), в котором содержится реальный программный текст процедур и функций.

Триггер - именованный программный блок PL/SQL, который состоит из rpyппы операторов, связанных с таблицей базы данных. Всякий раз при возникновении активизирующего события, например UPDATE, INSERT или DELETE, срабатывает соответствующий триггер.

В ответ на активизирующее событие триггеры могут срабатывать один раз для всей таблицы или для каждой строки, которая модифицируется активизирующим событием. Можно также устанавливать триггеры для активизации только в ответ на изменение одного столбца строки.

 

– Конец работы –

Эта тема принадлежит разделу:

БАЗИСНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА PL/SQL

ВВЕДЕНИЕ... БАЗИСНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА PL SQL... ТИПЫ PL SQL...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: В начало

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Последовательное управление
1. ВВЕДЕНИЕ   PL/SQL — это собственный язык Oracle, предназначенный для разработки приложений баз данных. В дополнение ко всем SQL-операциям

В начало
  2. БАЗИСНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА PL/SQL   Набор символов: программа PL/SQL представляет собой строки текста, испо

Семейство числовых типов
NUMBER- с помощью данного типа можно хранить числа: целые и с плавающей точкой. Он аналогичен типу NUMBER, применяемому в базах данных. Синтаксис: NUMBER (P,S);

Семейство символьных типов
VARCHAR2- данный тип аналогичен типу VARCHAR2, применяемому в базах данных. При помощи переменных типа VARCHAR2 можно хранить строки символов переменной длины. Синтаксис:

Семейство типов RAW
RAW - используется для хранения двоичных данных фиксированной длины. Синтаксис: RAW(L) , где L — длина переменной в байтах. Тип RAW. В отличие от символьны

Семейство типов ROWID
ROWID- абсолютно аналогичен типу, используемому для работы с псевдостолбцами ROWID базы данных. Он дает возможность сохранять идентификаторы строк (rowid), которые можно рассматрив

В начало
3.2 Составные типы В переменной, имеющей составной тип, находится одна или несколько скалярных переменных (называемых также атрибутами). Для применения со

В начало
  3.3 Ссылочные типы Ссылочный тип PL/SQL — это то же самое, что и указатель в С. Переменная, объявленная как ссылочная, во

В начало
3.4 Типы LOB Используются для хранения больших объектов. Большой объект (large object) может быть либо двоичным, либо символьным значением размером

В начало
3.5 Объектные типы Объектный тип является составным типом, который имеет внутри себя атрибуты (переменные других типов) и методы (подпрограммы). Информаци

В начало
  3.6. Преобразование типов данных PL/SQL может выполнять преобразования между различными семействами скалярных типов данных. В пределах одн

Явное преобразование типов данных
Встроенные функции преобразования, доступные в SQL, доступны и в PL/SQL. Краткое описание этих функций приведено в таблице 6. При необходимости их можно применять для явного преобразования типов да

Неявное преобразование типов данных
В PL/SQL осуществляется автоматическое преобразование типов данных разных семейств, когда это возможно. PL/SQL может автоматически выполнять преобразование между: cимвольными типами и числовыми тип

В начало
    5. ПЕРЕМЕННЫЕ И КОНСТАНТЫ   5.1. Объявление переменных В блоках P

DECLARE
SUBTYPE MyDate IS DATE; -- Основан на типе DATE TYPE MyRec IS RECORD (time1 INTEGER, time2 INTEGER); SU

В начало
    5.2. Работа с составными типами данных Запись PL/SQL Для определения записи PL/SQL сначала нужно

Изменяемый массив.
Изменяемый массив, или массив с переменной длиной — это тип данных, практически идентичный массиву в языке программирования С или Java. Синтаксис: TYPE имя_типа IS (VARRAY | VARYING ARRAY]

В начало
    5.3 Динамическое объявление типа переменных Во многих случаях для работы с данными, хранимыми в таблицах базы данных, испо

В начало
  6.2. Итеративное управление Итеративное управление называется также циклом. Цикл (LOOP) повторяет исполнение программного блока до тех пор

В начало
  6.3. Последовательное управление Последовательное управление иначе называется оператором GOTO. При его обнаружении програ

Goto lose_a_pencil;
-- Организуем цикл для всех рядов на верхнем уровне FORrownum IN 1..6 LOOP -- Организуем цикл для всех парт в текущем ряду

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги