Добавил:
supersonic
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:БД№8 запросы / МногокоманднаяФункция
.sql CREATE FUNCTION Несовершеннолетние(@data date)
RETURNS @ResultTable TABLE (
ИД smallint, Фамилия VARCHAR(50), Имя VARCHAR(50), Отчество VARCHAR(50), ДатаРождения date, Статус VARCHAR(50), Родственник VARCHAR(50)
) AS BEGIN
INSERT INTO @ResultTable
SELECT Студент.НомерСтуденческого, Студент.Фамилия, Студент.Имя, Студент.Отчество, Студент.ДатаРождения, NULL, ВидРодственника.НазваниеВида
FROM Студент
INNER JOIN Родственник
ON Студент.НомерСтуденческого = Родственник.НомерСтуденческого
INNER JOIN ВидРодственника
ON Родственник.ИДРодственника = ВидРодственника.ИДВида
UPDATE @ResultTable
SET Статус =
CASE WHEN DATEDIFF(day,ДатаРождения, @data) < 18 THEN 'Несовершеннолетний'
ELSE 'Совершеннолетний'
END
RETURN
END
RETURNS @ResultTable TABLE (
ИД smallint, Фамилия VARCHAR(50), Имя VARCHAR(50), Отчество VARCHAR(50), ДатаРождения date, Статус VARCHAR(50), Родственник VARCHAR(50)
) AS BEGIN
INSERT INTO @ResultTable
SELECT Студент.НомерСтуденческого, Студент.Фамилия, Студент.Имя, Студент.Отчество, Студент.ДатаРождения, NULL, ВидРодственника.НазваниеВида
FROM Студент
INNER JOIN Родственник
ON Студент.НомерСтуденческого = Родственник.НомерСтуденческого
INNER JOIN ВидРодственника
ON Родственник.ИДРодственника = ВидРодственника.ИДВида
UPDATE @ResultTable
SET Статус =
CASE WHEN DATEDIFF(day,ДатаРождения, @data) < 18 THEN 'Несовершеннолетний'
ELSE 'Совершеннолетний'
END
RETURN
END
Соседние файлы в папке БД№8 запросы