Синтаксис. Create procedure name [(param <datatype> [, param <datatype> ])]

CREATE PROCEDURE name [(param <datatype> [, param <datatype>...])]

[RETURNS <datatype> [, param <datatype>...])]

AS <procedure_body> [terminator]

<procedure_body> =

[<variable_declaration_list>]

<block>

<variable_declaration_list> =

DECLARE VARIABLE var <datatype>; [DECLARE VARIABLE var <datatype>;...]

<block> =

BEGIN

<compound_statement>

[<compound_statement>...]

END

<compound_statement> = {<block> | statement;}

<datatype> = {

{SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION}

| {DECIMAL | NUMERIC} [(precision [, scale])]

| DATE

| {CHAR | CHARACTER | CHARACTER VARYING | VARCHAR} [(int)]

[CHARACTER SET charname]

| {NCHAR | NATIONAL CHARACTER | NATIONAL CHAR} [VARYING] [(int)]}

Аргумент Описание
name Имя процедуры. Должно быть уникальным среди процедур, таблиц и видов.
param <datatype> Входной параметр, который вызывающая программа использует, чтобы передать значения процедуре.
  • param: Имя входного параметра, уникально для переменных внутри процедуры.
  • <datatype>: Любой тип данных InterBase.
RETURNS param <datatype> Выходной параметр, который процедура использует, чтобы вернуть значения в вызывающую программу.
  • param: Имя выходного параметра, уникально для переменных внутри процедуры.
  • <datatype>: Любой тип данных InterBase.
Процедура возвращает значения выходных параметров, когда достигает инструкции SUSPEND в теле процедуры.
AS Ключевое слово, которое разделяет заголовок процедуры и тело процедуры.
DECLARE VARIABLE var <datatype> Объявляет локальные переменные используемые только в процедуре. Каждому объявлению должно предшествовать DECLARE VARIABLE и должно завершатся точкой с запятой (;).
  • param: Имя локальной переменной, уникально для переменных внутри процедуры.
  • <datatype>: Любой тип данных InterBase.
statement Любая одиночная инструкция в языке процедур и триггеров InterBase. Каждая инструкция (исключая BEGIN и END) должна завершатся точкой с запятой (;).
terminator Терминатор определенный SET TERM, который указывает завершение тела процедуры. Используется только в ISQL

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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