Основы языка TRANSACT SQL. Казакова И.А. - 121 стр.

UptoLike

Составители: 

120
15.2. Создание, изменение
и удаление хранимых процедур
Создание новой и изменение имеющейся хранимой процедуры
осуществляется с помощью следующей команды:
пределение_процедуры>::=
{CREATE | ALTER } PROC[EDURE] имя_процедуры
[;номер]
[{@имя_параметра типанных } [VARYING ]
[=значение_по_умолчанию][OUTPUT] ][,...n]
[WITH { RECOMPILE | ENCRYPTION | RECOMPILE,
ENCRYPTION }]
[FOR REPLICATION]
AS
Тело процедуры;
Номер в имени – это идентификационный номер хранимой
процедуры, однозначно определяющий ее в группе процедур. Для
удобства управления процедурами логически однотипные хранимые
процедуры можно группировать, присваивая им одинаковые имена,
но разные идентификационные номера.
Для передачи входных и выходных данных в создаваемой хра-
нимой процедуре могут использоваться параметры, имена которых,
как и имена локальных переменных, должны начинаться с символа @.
В одной хранимой процедуре можно задать множество параметров,
разделенных запятыми. В теле процедуры не должны применяться
локальные переменные, чьи имена совпадают с именами парамет-
ров этой процедуры.
Для определения типа данных, который будет иметь соответ-
ствующий параметр хранимой процедуры, годятся любые типы
данных SQL, включая определенные пользователем.
OUTPUT означает, что соответствующий параметр предназна-
чен для возвращения данных из хранимой процедуры. Указание
ключевого слова OUTPUT предписывает серверу при выходе из
хранимой процедуры присвоить текущее значение параметра ло-
кальной переменной, которая была указана при вызове процедуры в
качестве значения параметра. При указании ключевого слова
OUTPUT значение соответствующего параметра при вызове про-
               15.2. Создание, изменение
            и удаление хранимых процедур
    Создание новой и изменение имеющейся хранимой процедуры
осуществляется с помощью следующей команды:
    <определение_процедуры>::=
    {CREATE | ALTER } PROC[EDURE] имя_процедуры
     [;номер]
    [{@имя_параметра тип_данных } [VARYING ]
     [=значение_по_умолчанию][OUTPUT] ][,...n]
    [WITH { RECOMPILE | ENCRYPTION | RECOMPILE,
     ENCRYPTION }]
    [FOR REPLICATION]
    AS
    Тело процедуры;
      Номер в имени – это идентификационный номер хранимой
процедуры, однозначно определяющий ее в группе процедур. Для
удобства управления процедурами логически однотипные хранимые
процедуры можно группировать, присваивая им одинаковые имена,
но разные идентификационные номера.
      Для передачи входных и выходных данных в создаваемой хра-
нимой процедуре могут использоваться параметры, имена которых,
как и имена локальных переменных, должны начинаться с символа @.
В одной хранимой процедуре можно задать множество параметров,
разделенных запятыми. В теле процедуры не должны применяться
локальные переменные, чьи имена совпадают с именами парамет-
ров этой процедуры.
      Для определения типа данных, который будет иметь соответ-
ствующий параметр хранимой процедуры, годятся любые типы
данных SQL, включая определенные пользователем.
      OUTPUT означает, что соответствующий параметр предназна-
чен для возвращения данных из хранимой процедуры. Указание
ключевого слова OUTPUT предписывает серверу при выходе из
хранимой процедуры присвоить текущее значение параметра ло-
кальной переменной, которая была указана при вызове процедуры в
качестве значения параметра. При указании ключевого слова
OUTPUT значение соответствующего параметра при вызове про-

                              120