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

UptoLike

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

126
FROM Students s
INNER JOIN Groups g ON g.ID_Group = s.ID_Group
INNER JOIN Teachers t ON t.ID_Teacher = g.Kurator
WHERE t.Familia = @CuratorSn AND t.Imja = @CuratorN
AND t.Surname = @CuratorP
Для обращения к процедуре можно использовать команды:
DECLARE @Result smallint
EXECUTE StudentsNum @Result OUTPUT, 'Самуйлов,
ергей', 'Владимирович'
PRINT CAST (@Result AS varchar (40));
В результате выполнения процедуры выводится сообщение
.
Пример 105. Использование вложенных процедур. Создать
процедуру для определения куратора группы, в которой учится оп-
ределенный студент.
Сначала разработаем процедуру для определения групп и их
кураторов:
CREATE PROCEDURE Curator
@Grp VARCHAR(10),
@Srn VARCHAR(20) OUTPUT
AS
SELECT @Srn = Familia
FROM Teachers
INNER JOIN Groups ON Groups.Kurator = Teachers.ID_Teacher
WHERE Groups.Name_group = @Grp;
Затем создадим процедуру, определяющую студентов и их ку-
раторов:
CREATE PROCEDURE StudentsCurator
@FIO VARCHAR(70),
@Crtr VARCHAR(20) OUTPUT
AS
DECLARE @GNm VARCHAR(10)
SELECT @GNm = Name_group
FROM Students s
     FROM Students s
     INNER JOIN Groups g ON g.ID_Group = s.ID_Group
     INNER JOIN Teachers t ON t.ID_Teacher = g.Kurator
     WHERE t.Familia = @CuratorSn AND t.Imja = @CuratorN
AND t.Surname = @CuratorP
     Для обращения к процедуре можно использовать команды:
     DECLARE @Result smallint
      EXECUTE StudentsNum @Result OUTPUT, 'Самуйлов,
'Сергей', 'Владимирович'
     PRINT CAST (@Result AS varchar (40));
     В результате выполнения процедуры выводится сообщение
                  .

     Пример 105. Использование вложенных процедур. Создать
процедуру для определения куратора группы, в которой учится оп-
ределенный студент.
     Сначала разработаем процедуру для определения групп и их
кураторов:
     CREATE PROCEDURE Curator
      @Grp VARCHAR(10),
      @Srn VARCHAR(20) OUTPUT
     AS
     SELECT @Srn = Familia
      FROM Teachers
     INNER JOIN Groups ON Groups.Kurator = Teachers.ID_Teacher
      WHERE Groups.Name_group = @Grp;
     Затем создадим процедуру, определяющую студентов и их ку-
раторов:
     CREATE PROCEDURE StudentsCurator
      @FIO VARCHAR(70),
      @Crtr VARCHAR(20) OUTPUT
     AS
     DECLARE @GNm VARCHAR(10)
     SELECT @GNm = Name_group
     FROM Students s

                             126