Федоров Н. В. ИТ-052
Лабораторная работа №6
Организация бизнес-логики ИС на стороне сервера
Хранимые процедуры
Создаем процедуру вывода полной информации о интересующей пользователя команде, например команда ЦСКА.
CREATE Procedure comanda - имя команды
@name_comand nchar(30)
- создаем процедуру comanda в качестве входного параметра – наименование команды.
as
SELECT [registration].[Команда],
[registration].[город],
[game].[id игры],
[stadium].[стадион],
[time_goals].[id игрока забившего гол],
[time_goals].[время гола],
[time_goals].[id гола]
- задается параметр выборки данных из таблиц
FROM [it052_fedorov].[dbo].[registration]
inner join [comand]
on [comand].[команда] = [registration].[команда]
inner join [game]
on [game].[id игры] = [time_goals].[id игры]
inner join [stadium]
on [stadium].[стадион] = [game].[стадион]
inner join [time_goals]
on [time_goals].[id игрока забившего гол] = [igroki].[id игрока забившего гол]
- данные выбираемые из таблиц
where [registration].[название команды]=@name_comand
- оператор выборки данных
exec comanda 'cska'
- выполнение хранимой процедуры
Создаем процедуру вывода полной информации о группе интересующих пользователя команд.
CREATE Procedure group_comanda
@group_comanda_1 nchar(10),
@group_comanda_2 nchar(10)
- создаем процедуру group_comanda в качестве входных параметров присваиваются наименование 1й команды (group_comanda_1) и 2й команды (group_comanda_2).
as
SELECT [registration].[Команда],
[registration].[город],
[game].[id игры],
[stadium].[стадион],
[time_goals].[id игрока забившего гол],
[time_goals].[время гола],
[time_goals].[id гола]
- задается параметр выборки данных из таблиц
FROM [it052_fedorov].[dbo].[registration]
inner join [comand]
on [comand].[команда] = [registration].[команда]
inner join [game]
on [game].[id игры] = [time_goals].[id игры]
inner join [stadium]
on [stadium].[стадион] = [game].[стадион]
inner join [time_goals]
on [time_goals].[id игрока забившего гол] = [igroki].[id игрока забившего гол]
- данные выбираемые из таблиц
where [registration].[Название команды 1]= @group_comanda_1
and [registration].[название команды 2]= @group_comanda_2
- оператор выборки данных
exec group_comanda 'cska', 'dinamo'
- выполнение хранимой процедуры
Создаем процедуру добавления новой команды
CREATE Procedure add_comand
@add_id int,
@add_gorod nchar(10),
@add_comand nchar(10)
- создаем процедуру add_comand, в качестве входных параметров присваиваются имена идентификатор(add_id), наименование города(add_gorod) и наименование команды(add_comand).
as
INSERT INTO [it52_fedorov].[dbo].[registration]
([id игры],
[Команда],
[город])
- вставка данных в перечисленные поля
VALUES
(@add_id,
@add_comand,
@add_gorod)
- вставка значений переменных
exec add_comand 17, 'kemerovo', 'energia'
- выполнение запроса добавления команды
Скалярная функция может возвращать значения любого скалярного типа данных, кроме данных типа text, image, table.
Выбирает все команды из города Москва
CREATE FUNCTION comand
(@gorod nchar(30)) –создается функция comand с входным параметром название города
RETURNS table
-возвращает таблицу
as
RETURN SELECT [registration].[Команда],
[registration].[город],
[game].[id игры],
[stadium].[стадион],
[time_goals].[id игрока забившего гол],
[time_goals].[время гола],
[time_goals].[id гола]
- задается параметр выборки данных из таблиц
FROM [it052_fedorov].[dbo].[registration]
inner join [comand]
on [comand].[команда] = [registration].[команда]
inner join [game]
on [game].[id игры] = [time_goals].[id игры]
inner join [stadium]
on [stadium].[стадион] = [game].[стадион]
inner join [time_goals]
on [time_goals].[id игрока забившего гол] = [igroki].[id игрока забившего гол]
- данные выбираемые из таблиц
where [registration].[название города]=@gorod
- оператор выборки данных
select * from comand ('Moscow')
-обращение к функции comand
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.