Оглавление  | Назад  | Вперед

Справочник по инструкциям и функциям InterBase SQL

ALTER PROCEDURE

Описание
Синтаксис
Примеры
Смотри так же

Описание

ALTER PROCEDURE изменяет существующую сохраненную процедуру. Эта инструкция может изменять входные параметры, выходные параметры и тело процедуры.

Заголовок и тело процедуры должны быть включены в инструкцию ALTER PROCEDURE полнонстью. Синтаксис точно такой же, как у инструкции CREATE PROCEDURE за исключением ключевого слова CREATE, которое заменено на ALTER.

Процедуры, использующиеся в настоящий момент, не могут быть изменены, пока не завершится их использование.

Изменения созданные инструкцией ALTER PROCEDURE, дают эффект, как только они произведены. Изменения распространяются на все приложения, которые используют процедуру, без необходимости их перекомпиляции и сборки.

Предостережение: Будте внимательны при изменении типов и числа входных и выходных параметров процедуры, так как существующий код может предполагать, что процедура имеет оригинальный формат.

Процедура может быть изменена ее создателем или пользователем SYSDBA.

К началу страницы...

Синтаксис

ALTER PROCEDURE name
  [(param <datatype> [, param <datatype> ...])]
  [RETURNS (param <datatype> [, param <datatype> ...])]
  AS <procedure_body> [terminator]
Аргумент Описание
name Имя существующей процедуры.
param <datatype> Входные параметры, используемые процедурой. Допустимые типы данных перечисленны в Типы данных.
RETURNS param <datatype> Выходные параметры, используемые процедурой. Допустимые типы данных перечислены в Типы данных.
<datatype> Тело процедуры. Включает:
  • Объявления локальных переменных.
  • Блок инструкций на языке процедур и триггеров.
Смотри CREATE PROCEDURE, для полного описания.
terminator Терминатор, определенный для ISQL командой SET TERM, указывающий конец тела процедуры.

К началу страницы...

Примеры

Эта инструкция изменяет процедуру GET_EMP_PROJ, изменяя возвращаемый параметр, чтобы он имел тип данных VARCHAR(20):

SET TERM !! ;
ALTER PROCEDURE GET_EMP_PROJ (EMP_NO SMALLINT)
RETURNS (PROJ_ID VARCHAR(20)) AS
  BEGIN
    FOR SELECT PROJ_ID
    FROM EMPLOYEE_PROJECT
    WHERE EMP_NO = :emp_no
    INTO :proj_id
    DO
    SUSPEND;
  END !!

SET TERM ; !!

К началу страницы...

Смотри так же:

К началу страницы...


Оглавление  | Назад  | Вперед