Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаба12БД

.doc
Скачиваний:
31
Добавлен:
15.04.2015
Размер:
44.54 Кб
Скачать

Министерство образования и науки РФ

РГРТУ

Кафедра ЭВМ

Отчет

о лабораторной работе №12

«Разработка функций»

Выполнили:

Ст.гр. 048 (бр. 6)

Перунова Е.

Шумилова А.

Проверил:

Громов А.Ю.

Рязань, 2012г.

1. Изучение оператора CREATE FUNCTION для создания хранимых процедур.

1.1. Разработать функцию, возвращающую список книг, которые не пользуются популярностью.

CREATE FUNCTION F1()

RETURNS TABLE

AS

RETURN (SELECT Шифр

FROM Книги

WHERE Шифр NOT IN(SELECT Книга

FROM ВыдачаКниг))

GO

SELECT *

FROM F1()

1.2. Разработать функцию, возвращающую список абонентов, которые не читали книгу «Война и мир».

CREATE FUNCTION F2()

RETURNS TABLE

AS

RETURN (SELECT Фамилия

FROM Абоненты

WHERE ЧитБилет NOT IN(SELECT Абонент

FROM ВыдачаКниг

WHERE Книга IN (SELECT Шифр

FROM Книги

WHERE Название = 'Война и мир')))

GO

SELECT *

FROM F2()

1.3. Разработать функцию, возвращающую список книг, которые читали все абоненты.

CREATE FUNCTION F3()

RETURNS TABLE

AS

RETURN(SELECT Название

FROM Книги

WHERE Шифр IN (SELECT Книга

FROM ВыдачаКниг))

GO

SELECT *

FROM F3()

1.4. Разработать функцию, которая возвращает список книг, написанных автором с заданной фамилией.

CREATE FUNCTION F4(@Familia char(20))

RETURNS TABLE

AS

RETURN(SELECT Название

FROM Книги

WHERE Автор = @Familia)

GO

SELECT *

FROM F4('Пушкин')

1.5. Разработать функцию, которая вычисляет суммарное количество книг по каждому автору и отклонение его от среднего суммарного количества книг.

CREATE FUNCTION F5()

RETURNS @T TABLE (Автор char(20), [Суммарное кол-во] real, Отклонение real)

AS

BEGIN

DECLARE @Среднее real

INSERT INTO @T(Автор, [Суммарное кол-во])

SELECT Автор, sum(КолЭкз)

FROM Книги

GROUP BY Автор

SELECT @Среднее = avg([Суммарное кол-во])

FROM @T

UPDATE @T

SET Отклонение = [Суммарное кол-во] - @Среднее

RETURN

END

GO

SELECT *

FROM F5()

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]