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

UptoLike

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

122
Если вызов хранимой процедуры не является единственной
командой в пакете, то присутствие команды EXECUTE обязатель-
но. Более того, эта команда требуется для вызова процедуры из тела
другой процедуры или триггера.
Использование ключевого слова OUTPUT при вызове проце-
дуры разрешается только для параметров, которые были объявлены
при создании процедуры с ключевым словом OUTPUT.
Если при вызове процедуры для параметра указывается клю-
чевое слово DEFAULT, то будет использовано значение по умолча-
нию. Естественно, указанное слово DEFAULT разрешается только
для тех параметров, для которых определено значение по умолчанию.
Из синтаксиса команды EXECUTE видно, что имена парамет-
ров могут быть опущены при вызове процедуры. Однако в этом
случае пользователь должен указывать значения для параметров в
том же порядке, в каком они перечислялись при создании процеду-
ры. Присвоить параметру значение по умолчанию, просто пропус-
тив его при перечислении, нельзя. Если же требуется опустить па-
раметры, для которых определено значение по умолчанию, доста-
точно явного указания имен параметров при вызове хранимой про-
цедуры. Более того, таким способом можно перечислять параметры
и их значения в произвольном порядке.
При вызове процедуры указываются либо имена параметров
со значениями, либо только значения без имени параметра. Их ком-
бинирование не допускается.
Пример 99. Процедура без параметров. Разработать проце-
дуру для получения названий экзаменов и оценок, полученных сту-
дентом Иванчуковым А. Г.:
CREATE Procedure ExamResults
AS
SELECT s.FIO AS 'ФИО', l.Nazvanie AS 'Дисциплина',
p.Examen ASценка за экзамен'
FROM Students AS s INNER JOIN
Progress AS p ON p.ID_Student = s.ID_Student INNER JOIN
Lessons AS l ON l.ID_Lesson = p.ID_Lesson
WHERE s.FIO = 'Иванчуков А.Г.';
Для обращения к процедуре можно использовать команду
EXECUTE ExamResults;
      Если вызов хранимой процедуры не является единственной
командой в пакете, то присутствие команды EXECUTE обязатель-
но. Более того, эта команда требуется для вызова процедуры из тела
другой процедуры или триггера.
      Использование ключевого слова OUTPUT при вызове проце-
дуры разрешается только для параметров, которые были объявлены
при создании процедуры с ключевым словом OUTPUT.
      Если при вызове процедуры для параметра указывается клю-
чевое слово DEFAULT, то будет использовано значение по умолча-
нию. Естественно, указанное слово DEFAULT разрешается только
для тех параметров, для которых определено значение по умолчанию.
      Из синтаксиса команды EXECUTE видно, что имена парамет-
ров могут быть опущены при вызове процедуры. Однако в этом
случае пользователь должен указывать значения для параметров в
том же порядке, в каком они перечислялись при создании процеду-
ры. Присвоить параметру значение по умолчанию, просто пропус-
тив его при перечислении, нельзя. Если же требуется опустить па-
раметры, для которых определено значение по умолчанию, доста-
точно явного указания имен параметров при вызове хранимой про-
цедуры. Более того, таким способом можно перечислять параметры
и их значения в произвольном порядке.
      При вызове процедуры указываются либо имена параметров
со значениями, либо только значения без имени параметра. Их ком-
бинирование не допускается.
      Пример 99. Процедура без параметров. Разработать проце-
дуру для получения названий экзаменов и оценок, полученных сту-
дентом Иванчуковым А. Г.:
      CREATE Procedure ExamResults
      AS
      SELECT s.FIO AS 'ФИО', l.Nazvanie AS 'Дисциплина',
 p.Examen AS 'Оценка за экзамен'
      FROM Students AS s INNER JOIN
      Progress AS p ON p.ID_Student = s.ID_Student INNER JOIN
      Lessons AS l ON l.ID_Lesson = p.ID_Lesson
      WHERE s.FIO = 'Иванчуков А.Г.';
      Для обращения к процедуре можно использовать команду
      EXECUTE ExamResults;

                               122