Иван Задворьев - Язык PL/SQL

Здесь есть возможность читать онлайн «Иван Задворьев - Язык PL/SQL» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2018, Издательство: Array SelfPub.ru, Жанр: Программирование, Базы данных, , на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Язык PL/SQL: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Язык PL/SQL»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.

Язык PL/SQL — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Язык PL/SQL», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

pk_clients (пакет для работы с клиентскими данными);

pk_stocks (пакет для работы со складами);

pk_orders (пакет для обработки заказов);

Для каждого пакета следует назначить ответственного за него программиста, который будет сопровождать пакет и развивать его функциональность. Часть кода, реализующего общесистемную логику, например, унифицированную обработку ошибок и ведение журналов изменения данных, можно выделить в отдельную группу пакетов ядра прикладной системы (kernel packages), назначив ответственными за них самых опытных программистов.

Спецификация и тело пакета

Пакет PL/SQL состоит из двух объектов базы данных: спецификации пакета (PACKAGE) и тела пакета (PACKAGE BODY). Команда создания спецификации пакета имеет следующий синтаксис:

CREATE [OR REPLACE] PACKAGE [имя_схемы.]имя_пакета {IS | AS}

спецификация пакета

END;

Команда создания тела пакета имеет следующий синтаксис:

CREATE [OR REPLACE] PACKAGE BODY [имя_схемы.]имя_пакета {IS | AS}

[спецификация локальных элементов пакета]

блоки PL/SQL реализации процедур и функций, объявленных в спецификации

блоки PL/SQL локальных процедур и функций

[BEGIN секция инициализации пакета]

END;

В спецификации пакета находится описание следующих программных элементов, доступных из других программ PL/SQL (то есть элементов, видимых извне):

пользовательские типы данных;

пользовательские исключения;

процедуры и функции;

переменные;

константы;

курсоры.

Эти программные элементы называются глобальными пакетными переменными, глобальными пакетными курсорами и т. п.

Для процедур и функций в спецификации пакета присутствуют только заголовки – названия процедур и функций и описания их параметров. В спецификации пакета нет блоков PL/SQL, реализующих логику процедур и функций, вся она находится в теле пакета. Можно считать, что спецификация пакета является интерфейсной частью – аналогом заголовочных файлов (header files), имеющихся, например, в языке программирования C++.

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

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

Покажем области видимости объявленных в пакетах переменных и программ:

CREATE OR REPLACE PACKAGE pkg1 AS

– g_var1 – глобальная пакетная переменная

– видна и в теле пакета и снаружи (причем может изменяться снаружи)

g_var1 INTEGER;

– глобальная пакетная процедура, видна и в теле пакета и снаружи

PROCEDURE proc1;

END;

CREATE OR REPLACE PACKAGE BODY pkg1 AS

– локальная переменная, видна внутри тела пакета, снаружи не видна

l_var2 DATE;

– локальная функция, видна внутри тела пакета, снаружи не видна

FUNCTION function1 RETURN VARCHAR2 IS

BEGIN

RETURN TO_CHAR(SYSDATE,'DD.MM.YYYY HH24:MI:SS');

END;

– реализация в теле логики процедуры proc1, объявленной в спецификации

PROCEDURE proc1 IS

– l_p_var3 – локальная переменная процедуры proc1

– видна только внутри процедуры proc1

l_p_var3 VARCHAR2(2000);

BEGIN

l_p_var3 := function1||' '||to_char(l_var2)||to_char(g_var1);

END;

END;

Достоинства использования пакетов

Сформулируем достоинства использования пакетов PL/SQL при разработке серверной бизнес-логики:

упрощение сопровождения и расширения программ PL/SQL, так как пакеты обеспечивают инкапсуляцию кода и позволяют группировать логически связанные процедуры и функции;

разграничение доступа различных пакетов к внутренним компонентам друг друга;

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

исключение жестко кодируемых литералов (hard-coded literals).

Хороший стиль программирования на PL/SQL предусматривает даже для небольших проектов наличие спецификаций пакетов, в которых объявлены

все пользовательские типы данных;

все константы и переменные, которые инициализируются жестко кодируемыми литералами, в том числе магическими числами;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Язык PL/SQL»

Представляем Вашему вниманию похожие книги на «Язык PL/SQL» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Язык PL/SQL»

Обсуждение, отзывы о книге «Язык PL/SQL» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x