Читаем SQL за 24 часа полностью

PL/SQL является расширением SQL, предлагаемым Oracle. Подобно расширению Transact-SQL, PL/SQL является процедурным языком, структурированным в виде логических блоков программного кода. Блок PL/SQL состоит из трех разделов, два из которых необязательны. Первый раздел представляет собой раздел DECLARE (раздел объявлений) и яшшется необязательным. В разделе DECLARE содержатся переменные, курсоры и константы. Второй раздел - это раздел PROCEDURE (раздел выполняемых операторов), состоящий из условных команд и операторов SQL. Именно в этом разделе осуществляется управление всем блоком, поэтому раздел PROCEDURE является в блоке обязательным. Третий раздел называется разделом EXCEPTION (разделом исключительных состояний), и в нем задается реакция программы на ошибки выполнения и заданные программистом исключительные ситуации. Раздел EXCEPTION в блоке является необязательным. В PL/SQL имеется возможность использования переменных, констант, атрибутов, циклов, обработчиков исключительных ситуаций, отображения сообщений для программиста, управления транзакциями, сохранения процедур, триггеров и пакетов.

Вот пример оператора PL/SQL.

DECLARE

CURSOR EMP_CURSOR IS SELECT EMP_ID, LAST_NAME, FIRST_NAME, MID_INIT

FROM EMPLOYEE_TBL;

EMP_REC EMP_CURSOR%ROWTYPE;

BEGIN

OPEN EMP_CURSOR;

LOOP

FETCH EMP_CURSOR INTO EMP_REC;

EXIT WHEN EMP_CURSOR%NOTFOUND;

IF (EMP_REC.MID_INIT IS NULL) THEN

UPDATE EMPLOYEE_TBL

SET MID_INIT = 'X'

WHERE EMP_ID = EMP_REC.EMP_ID;

COMMIT;

END IF;

END LOOP;

CLOSE EMP_CURSOR;

END;

В данном операторе представлены два из упомянутых выше разделов блока - разделы DECLARE и PROCEDURE. Сначала с помощью запроса объявляется курсор EMP_CURSOR. После этого объявляется переменная EMP_REC, чей тип данных совпадает с типом данных (%ROWTYPE) столбцов объявленного курсора. Первым шагом в разделе PROCEDURE (начинающемся оператором BEGIN) является открытие курсора. После этого для просмотра всех записей курсора используется оператор LOOP, заканчивающийся ключевыми словами END LOOP. Для всех строк курсора, в которых средний инициал имени служащего пропущен (т. е. равен NULL), данные таблицы EMPLOYEEJTBL должны быть обновлены. Обновление состоит в добавлении среднего инициала 'X'. После этого изменения подтверждаются, и курсор, наконец, закрывается.

MySQL

MySQL представляет собой многопользовательское многозадачное приложение баз данных SQL типа клиент/сервер. MySQL состоит из сетевого сервера (демона), терминальной программы-клиента, нескольких дополнительных программ-клиентов и ряда библиотек. Главные преимущества MySQL - скорость работы, надежность и простота использования. Изначально приложение MySQL разрабатывалось для обеспечения быстрого доступа к очень большим базам данных.

Приложение MySQL можно найти в Internet по адресу http://www.mysql.com. Чтобы установить программные файлы MySQL, вам потребуется программа gunzip, чтобы разжать предлагаемый бинарный файл, и подходящая версия программы TAR, чтобы распаковать входящие в него файлы Предлагаемый в Internet бинарный файл будет иметь название mysql-VERSiON-os. tar. gz, где VERSION означает идентификатор версии MySQL, а OS - название соответствующей операционной системы.

Вот пример выполнения запроса в системе MySQL.

mysql> SELECT CURRENT_DATE(),VERSION();

+----------------+------------+

| current date() | version () |

+----------------+------------+

| 1999-08-09 | 3-22.23b |

+----------------+------------+

1 row in set (0.00 sec)

mysql>

Интерактивные операторы SQL

Интерактивные операторы SQL - это такие операторы SQL, которые сами спрашивают о необходимых переменных, параметрах и других необходимых для их выполнения данных Скажем, у вас имеется интерактивный оператор SQL для создания в базе данных записей с информацией о новых пользователях. Такой оператор SQL может попросить вас ввести учетную запись нового пользователя, его реальное имя и номер контактною телефона. Такой оператор применяется для ввода информации об одном новом пользователе или о многих одновременно. Без такого оператора для каждого из пользователей пришлось бы выполнить свой отдельный оператор CREATE ScR Интерактивный оператор SQL может запросить у вас информацию о привилегиях для создаваемого пользователя Не все производители предлагают интерактивные опера юры SQL. вам придется уточнить это по документации, сопровождающей систему управления базой данных В следующих разделах приводятся примеры использования интерактивных операторов SQL в базах данных Oracle.

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

Параметры представляют собой переменные SQL, размещенные в программе. Параметры можно передавать операторам SQL во время выполнения приложения, что придает этим операторам дополнительную гибкость. Практически все 1лавные реализации SQL допускают использование параметров. Мы рассмотрим примеры передачи параметров в Oracle и Sybase.

Oracle

В Oracle предусмотрена передача параметров операторам, которые в противном случае оставались бы статическими операторами SQL.

SELECT EMP_ID, LAST_NAME, FIRST_NAME

FROM EMPLOYEEJTBL

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных