Читать «SQL за 24 часа» онлайн - страница 163
Unknown
Стандартный SQL по своей сути является
Transact-SQL является процедурным языком, позволяющим указать базе данных, как и где искать и обрабатывать данные. Стандартный SQL не является процедурным языком, поэтому при его использовании способы извлечения и обработки данных база данных выбирает сама. В Transact-SQL имеются, в частности, возможности объявлять локальные и глобальные переменные, курсоры, программно обрабатывать ошибки, создавать и сохранять триггеры и другие процедуры, использовать циклы, знаки подстановки, преобразовывать одни типы данных в другие, создавать итоговые отчеты.
Вот пример оператора Transact-SQL:
IF (SELECT AVG(COST) FROM PRODUCTSJTBL) > 50
BEGIN
PRINT "ПОНИЗИТЬ ВСЕ ЦЕНЫ НА 10 ПРОЦЕНТОВ."
END
ELSE
PRINT "ЦЕНЫ ПРИЕМЛЕМЫ."
END
Это очень простой оператор Transact-SQL. В результате его выполнения, ••''
Обратите внимание на использование здесь оператора IF.. .ELSE для оценки условий, накладываемых на получаемые данные. Новой здесь является и команда PRINT. Эти дополнительные возможности не составят даже капли в море всех возможностей Transact-SQL.
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;