…])]
[RETURNS (Параметр <тип данных> [,
Параметр <тип данных> …])]
AS [<список переменных>] <блок>;
<список переменных> =
DECLARE [VARIABLE] Переменная <тип данных>;
[DECLARE [VARIABLE] Переменная <тип данных>; ...] <блок> =
BEGIN <составной оператор>
[<составной оператор>...]
END
<составной оператор> = <блок> | Оператор;
<тип данных> = один из типов данных Firebird
Оператор – любой одиночный оператор языка хранимых процедур и триггеров Firebird.
CREATE PROCEDURE MakeGenerator (
GenName VARCHAR(31),
GenValue INTEGER
) AS
DECLARE VARIABLE Sql VARCHAR(256);
BEGIN
Sql = 'CREATE GENERATOR ' || GenName || ';';
EXECUTE STATEMENT Sql;
Sql = 'SET GENERATOR ' || GenName || ' TO ' ||
CAST(GenValue AS VARCHAR(10)) || ';';
EXECUTE STATEMENT Sql;
END;