Задания и варианты по лабораторным работам, страница 17


Лабораторная работа №4

Тема: Создание сохраненных процедур и функций, работа с курсорами.

План проведения работы

1.  Создать процедуры и функции, указанные в варианте;

2.  Определить курсоры с параметрами, построенных по любым 2 операторам Select из предыдущей работы;

3.  Для каждой таблицы, имеющей первичный ключ, генерируемый последовательностью, создать функцию, которая в качестве параметров принимает значения полей записи, кроме первичного ключа. Эта функция должна получать из последовательности новый первичный ключ и вставить новую запись с этим ключом и с указанными в виде параметров значениями полей. В результате функция должна возвращать первичный ключ вставленной записи или null, если запись не была вставлена.

4.  Отладить процедуры и функции (все подпрограммы должны предусматривать обработку аномальных ситуаций);

5.  Проверить корректность курсоров;

6.  Оформить отчет.

Содержание отчета

1.  Краткие теоретические сведения;

2.  Список аномалий для каждой подпрограммы;

3.  Распечатка содержимого таблиц после заполнения их информацией;

4.  Листинг создания процедур, функций и курсоров;

5.  Примеры, демонстрирующие их работу;

6.  Выводы по работе;

Вариант №1

Пакет должен включать:

1.  Процедуру, которая увеличивает зарплату каждого программиста на 2*(количество языков, которые он знает на 7 и более балов)%;

2.  Функцию по номеру служащего, возвращающую строку, в которой через запятую перечислены языки, которыми он владеет (функция должна быть доступна для использования в SQL операторах);

3.  Процедуру, которая удаляет записи о языках программирования, которыми не владеет ни один служащий.

Вариант №2

Пакет должен включать:

1.  Процедуру выдачи книги, которая по номеру книги и читателя создает новую запись в таблице связи, если данный читатель не является злостным должником;

2.  Функцию по номеру читателя, возвращающую строку, в которой через запятую перечислены выданные ему книги (функция должна быть доступна для использования в SQL операторах);