double arrow

Описание. CREATE PROCEDURE определяет новую сохраненную процедуру в базе данных

CREATE PROCEDURE

CREATE PROCEDURE определяет новую сохраненную процедуру в базе данных. Сохраненная процедура это отдельная программа, написанная на языке процедур и триггеров InterBase, и сохраненная как часть метаданных базы данных. Сохраненные процедуры могут принимать входные параметры из и возвращать значения в приложение.

Язык процедур и триггеров InterBase включает все инструкции SQL манипулирования данными и некоторые мощные улучшения, включающие: IF ... THEN ... ELSE, WHILE ... DO, FOR SELECT ... DO, исключительные ситуации и обработку ошибок.

Имеются два вида процедур:

  • Процедуры выбора, которые приложения могут использовать вместо таблиц или видов в инструкции SELECT. Процедура выбора должна быть определена для возвращения одного или более значений, иначе результатом выполнения процедуры будет ошибка.
  • Выполняемые процедуры, которые приложения могут непосредственно вызывать в инструкции EXECUTE PROCEDURE. Выполняемая процедура не требует возвращать значения вызываемой программе.

Сохраненные процедуры состоят из заголовка и тела.

Заголовок процедуры содержит:

  • Имя сохраненной процедуры, которое должно быть уникальным среди имен процедур и таблиц в базе данных.
  • Факультативный список входных параметров и их типов данных, которые процедура принимает из вызывающей программы.
  • Следующий за ключевым словом RETURNS список выходных параметров и их типов данных, если процедура возвращает значения в вызывающую программу.

Тело процедуры содержит:

  • Факультативный список локальных переменных и их типов данных.
  • Блок инструкций на языке процедур и триггеров InterBase, ограниченный BEGIN и END. Блок может включать в себе другие блоки, так, чтобы имелось несколько уровней вложения.

Важно: Так как каждая инструкция в теле сохраненной процедуры должна завершатся точкой с запятой, вы должны определить другой символ для завершения инструкции CREATE PROCEDURE в ISQL. Используйте SET TERM пред CREATE PROCEDURE чтобы определить терминатор отличный от точки с запятой. После инструкции CREATE PROCEDURE, включите SET TERM, что бы изменить терминатор обратно к точке с запятой.

InterBase не позволяет изменения базы данных, которые воздействуют на поведение существующих процедур (т. к. DROP TABLE, DROP EXCEPTION). Для просмотра, всех процедур определенных для текущей базы данных или текста и параметров именованной процедуры, используйте внутренние команды ISQL, SHOW PROCEDURES или SHOW PROCEDURES procedure.


Сейчас читают про: