Элементы языка
Элементы языка
В табл. 29.1 показаны элементы языка PSQL, доступные в Firebird.
Таблица 29.1. Расширения PSQL для хранимых процедур и триггеров
Оператор
Описание
В. 1.5
В. 1.0.x
BEGIN ... END
Определяет блок операторов, которые выполняются как одно целое. Зарезервированное слово BEGIN начинает блок; зарезервированное слово END завершает его. Ни за одним из них не должна следовать точка с запятой. В версии 1.0.x нельзя выдать оператор CREATE PROCEDURE без хотя бы одного оператора между BEGIN и END. "Пустые" определения допустимы в версии 1.5 и выше
Да
Да
переменная = выражение
Присваивает значение выражения переменной- локальной переменной, входному параметру или выходному параметру
Да
Да
/* текст комментария */
Комментарий программиста, где текст может содержать любое количество строк между парой /* */. Может быть также использован для встроенных комментариев
Да
Да
-- текст комментария
Комментарий программиста из одной строки, где текст может быть встроенным (только версия 1.5) или может занимать одну строку, где маркер двойного минуса (-) является первым элементом в строке
Да
Да
EXCEPTION имя-исключения
Вызывает именованное исключение для возможной обработки в блоке WHEN. Само исключение должно быть предварительно определено администратором базы данных с использованием CREATE EXCEPTION
Да
Да
EXCEPTION
Вызывает исключение
Да
Нет
EXCEPTION имя-исключения сообщение-времени-выполнения
Вызывает именованное исключение и присоединяет к нему сообщение времени выполнения - локальную переменную типа VARCHAR, которой во время выполнения может быть присвоено значение. Подробности определения и использования исключений см. в главе 32
Да
Нет
EXECUTE PROCEDURE имя-процедуры [переменная [, переменная ...]] [ RETURNING_VALUES переменная [, переменная. . .]]
Выполняет хранимую процедуру имя- процедуры. Входные аргументы следуют за именем процедуры; возвращаемые значения следуют за ключевым словом RETURNING VALUES. Допустимы вложенные процедуры и рекурсия. Входные и выходные параметры должны быть переменными, определенными в процедуре
Да
Да
EXECUTE STATEMENT <строка>
Выполняет оператор динамического SQL, содержащийся в <строка>
Да
Нет
EXIT
Переходит на конечный оператор END. Необязателен
Да
Да
FOR ... SELECT ... INTO ... DO
Синтаксис составного блока цикла для обработки неявного курсора и (необязательной) генерации виртуальной таблицы для направления выхода запроса SELECT клиенту. Подробности см. в разд. "SELECT для множества строк"
Да
Да
IF . . . THEN .. . [ELSE] ...
Синтаксис составного ветвления. Подробности см. в разд. "Условные блоки" позже в этой главе
Да
Да
LEAVE[114]
Оператор не принимает параметров. Используется для выхода из цикла. Выполнение переходит к первому оператору, следующему за концом того блока, который включает цикл, где был выполнен оператор LEAVE
Да
Нет
NEW. имя-столбца
Только триггеры. Контекстные переменные, доступные для триггеров INSERT и UPDATE. Существует одна переменная NEW для каждого столбца таблицы, содержащая новое значение, передаваемое клиентским запросом. Также доступна в некоторых ограничениях CHECK. Заметим, что в версии 1.5 в триггерах для нескольких действий ссылка на NEW. переменная не является ошибкой, поскольку она вернет NULL, если используется в контексте удаления
Да
Да
OLD.имя-столбца
Только триггеры. Контекстные переменные, доступные для триггеров INSERT и DELETE. Существует одна переменная OLD для каждого столбца таблицы, содержащая значение, которое имел столбец до выдачи клиентского запроса. Также доступна в некоторых ограничениях CHECK. Заметим, что в версии 1.5 в триггерах для нескольких действий ссылка на OLD.переменная не является ошибкой, даже если триггер включает действия по добавлению данных. Она вернет NULL, если используется в контексте добавления
Да
Да
POST_EVENT имя-события
Помещает событие имя-события в стек. Имя события может быть произвольной строкой длиной до 78 символов и не является предварительно определенным на сервере. События из стека будут переданы клиентам, "прослушивающим" это событие через обработчик сообщений. Подробности см. в разд. "События" главы 32
Да
Да
SELECT ... INTO ...
Помещает выход обычного одиночного оператора SELECT в список предварительно объявленных переменных. Вызовет исключение, если оператор вернет множество строк
Да
Да
SUSPEND
Недоступен в триггерах! Оператор используется в процедурах, разработанных для вывода наборов множества строк в виде виртуальных таблиц - хранимые процедуры выбора. Он приостанавливает выполнение процедуры на время перемещения строки из кэша строк в клиентское приложение. Оператор не имеет этого эффекта в выполняемых хранимых процедурах, где он эквивалентен оператору EXIT
Да
Да
WHILE <условие> DO
Синтаксис условного цикла, при котором выполняется блок, пока условие не станет ложным. Подробности см. в разд. "Условные блоки" позже в этой главе
Да
Да
WHEN {ошибка [, ошибка . . . ] | ANY}
Синтаксис для обработки исключений. Аргументами могут быть одно или более определенных пользователем исключений или внутренне определенные исключения GDSCODE или SQLCODE. Подробности см. В главе 32
Да
Да
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Выбор языка
Выбор языка Для того чтобы выбрать или изменить существующий язык интерфейса, используется команда основного меню программы Skype Инструменты | Выбор языка (language). В раскрывающемся списке данной команды (рис. 6.1) укажите язык, и тогда интерфейс программы будет
HTML-элементы управления и серверные элементы управления
HTML-элементы управления и серверные элементы управления Еще одной новинкой технологии ASP.NET является использование серверных элементов управления. Серверный элемент управления кодируется в Web-странице, а все его события и свойства обрабатываются Web-сервером. Серверные
ЭЛЕМЕНТЫ ЯЗЫКА СИ
ЭЛЕМЕНТЫ ЯЗЫКА СИ Под элементами языка понимаются его базовые конструкции, используемые при написании программ. В этом разделе описываются следующие элементы языка Си:– алфавит;– константы;– идентификаторы;– ключевые слова;– комментарии.Компилятор языка Си
Глава 8. Дополнительные элементы и функции языка XSLT
Глава 8. Дополнительные элементы и функции языка XSLT В восьмой главе разбираются возможности, которые предоставляются дополнительными элементами и функциями языка XSLT. Эти элементы и функции предоставляют сервисные возможности, которые не связаны непосредственно с
Глава 8 Дополнительные элементы и функции языка XSLT
Глава 8 Дополнительные элементы и функции языка XSLT Дополнительные элементы и функции В этой главе разбираются дополнительные элементы и функции языка XSLT, которые выполняют в преобразованиях различные задачи, непосредственно не связанные с созданием узлов выходящего
Правило языка
Правило языка Правило Утверждений Переобъявления, так как оно сформулировано, является концептуальным руководством. Как преобразовать его в безопасное и проверяемое правило языка?В принципе, чтобы убедиться в том, что старые предусловия влекут новые, а новые
§ 2.3 Элементы описания книги. Базовые структурные элементы
§ 2.3 Элементы описания книги. Базовые структурные элементы В самом начале любого файла книги идет признак формата XML<?xml version="1.0" encoding="windows-1251"?>Здесь указана сигнатура принадлежности к формату XML, его версия и кодировка файла. Для русскоязычных FictionBook это обычно windows-1251
§ 2.4 Элементы описания книги (description). Элементы первого уровня
§ 2.4 Элементы описания книги (description). Элементы первого уровня Элемент title-infoСодержит базовую информацию о книге (заголовок, информация об авторе и переводчике, аннотация, вхождение в серию и т.д.)Cинтаксис: <title-info>content</title-info>.Используется в элементах: descriptionВложенные
§ 2.5 Элементы описания книги (description). Элементы второго уровня
§ 2.5 Элементы описания книги (description). Элементы второго уровня Элемент genreЖанр произведения.Содержимое элемента строго фиксировано и определяется файлом FictionBookGenres.xsd, входящим в состав спецификации FictionBook.Список жанров с переводом приведен в Приложении В.Cинтаксис:
§ 2.6 Элементы описания книги (description). Элементы третьего уровня (информация об авторе)
§ 2.6 Элементы описания книги (description). Элементы третьего уровня (информация об авторе) Элемент first-nameИмя автора книги или документа, а также переводчика.Cинтаксис: <first-name>текст</first-name>Используется в элементах: author, translatorВложенные элементы: нетКоличество вхождений:
§ 2.8 Элементы раздела книги (section). Элементы первого уровня.
§ 2.8 Элементы раздела книги (section). Элементы первого уровня. Элемент citeЦитата. Отрывок текста из другого произведения.В FictionBook с помощью тэга cite также выделяются письма, записки, надписи, списки и еще много чего.Cинтаксис: <cite>content</cite>Используется в элементах: section,
§ 2.9 Элементы раздела книги (section). Элементы второго уровня.
§ 2.9 Элементы раздела книги (section). Элементы второго уровня. Элемент stanzaСтрофа стихотворения.Cинтаксис: stanza>content</stanza>Используется в элементах: poemВложенные элементы: title, subtitle, vКоличество вхождений: одно и болееАтрибуты: нетВерсия формата: 2.0Пример: см. пример
§ 2.11 Элементы абзаца (стилевые, они же inline элементы)
§ 2.11 Элементы абзаца (стилевые, они же inline элементы) Элемент aСсылка или сноска.Cинтаксис: <a>content</a>Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, vВложенные элементы: code, emphasis, strikethrough, strong, style, sub, sup, imageКоличество вхождений: