При объявлении параметров указывается следующая информация
· Имя
· Тип данных
· Значение по умолчанию
· Направление (входная или выходная).
Если параметру не присвоено значение по умолчанию, то начальное значение должно быть присвоено при вызове процедуры. Если значение задано по умолчанию, то у пользователя остается право его изменить
Пример 87
Задание.
Создать хранимую процедуру, которая выводит содержимое таблицы Student для заданной группы, по умолчанию выводятся сведения о студентах группы АИС-03.
Решение:
USE STUDENT
GO
CREATE PROC PStudent
@NameGroup VARCHAR (20)='АИС-03'
AS
SELECT *
FROM Student ST
Inner JOIN SGroup SG
ON ST. IDGroup=SG. IDGroup
WHERE NameGroup=@NameGroup
При вызове EXEC PStudent имеем,
продолжение таблицы
Пример 88
Задание.
Создать хранимую процедуру, которая выводит содержимое таблицы Student для заданной группы. Название группы, используемое по умолчанию, не задается
Решение:
USE STUDENT
GO
CREATE PROC PStudent
@NameGroup VARCHAR (20) output
AS
SELECT *
FROM Student ST
Inner JOIN SGroup SG
ON ST. IDGroup=SG. IDGroup
WHERE NameGroup =@NameGroup
При вызове процедуры с помощью оператора EXEC PStudent, будет выдано сообщение об ошибке.
Server: Msg 201, Level 16, State 4, Procedure PSTUDENT, Line 0
Procedure 'PSTUDENT' expects parameter '@NameGroup', which was not supplied.
При вызове EXEC PStudent 'ИСТ-03' имеем,
Результат выполнения запроса:
продолжение таблицы
Пример 89
Задание.
Создать хранимую процедуру, которая вводит данные в таблицу Student.