Слайд 2ПОРЯДОК ВЫПОЛНЕНИЯ
Изучить теоретический материал (см. лекцию «Процедурный SQL»).
Установить демонстрационную БД «Проездные школьника».
Изучить

примеры из текста лабораторной работы.
Используя примеры, создать в демонстрационной БД функцию vozrast() и хранимые процедуры all_classes_info ().
Разработать функции и процедуры из заданий для самостоятельного выполнения.
В качестве результата работы предоставить 4 sql-файла (по одному для каждого задания), содержащих код для создания функции/процедуры. В качестве имени использовать N_FamiliyaIO.sql, где N – номер задания.
Слайд 3ХРАНИМЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

Слайд 4ХРАНИМЫЕ ПРОЦЕДУРЫ
CREATE PROCEDURE <имя_процедуры>
( [ [IN | OUT | INOUT ]
![ХРАНИМЫЕ ПРОЦЕДУРЫ CREATE PROCEDURE ( [ [IN | OUT | INOUT ]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/854249/slide-3.jpg)
параметр1 [,...] ] )
{[NOT] DETERMENISTIC}
{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
BEGIN
<тело_процедуры>
END
Слайд 5ФУНКЦИИ
CREATE FUNCTION <имя_функции> ( [<параметр1> тип_данных [,...] ] )
RETURNS тип_данных
[NOT] DETERMENISTIC
{ CONTAINS
![ФУНКЦИИ CREATE FUNCTION ( [ тип_данных [,...] ] ) RETURNS тип_данных [NOT]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/854249/slide-4.jpg)
SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
BEGIN
<тело_функции>
END
Слайд 6ПРОЦЕДУРА ДЛЯ СУММЫ ДВУХ ЧИСЕЛ

Слайд 7ФУНКЦИЯ ДЛЯ СУММЫ ДВУХ ЧИСЕЛ

Слайд 8ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ

Слайд 9ЗАДАНИЕ №1
Изменить функцию vozrast() таким образом, чтобы при ее вызове рассчитывался возраст

ученика на текущую дату (по его id).
Слайд 10ЗАДАНИЕ №2
СОЗДАТЬ ФУНКЦИЮ ДЛЯ РАСЧЕТА ВЫПЛАТЫ НА РУКИ З/П
На вход поступает следующая

информация:
количество рабочих дней за месяц,
количество отработанных дней в отчетном периоде,
оклад.
зарплата=оклад*отработанные_дни/всего_рабочих.
Сумма на руки=зарплата*(1-0,13-0,01)=зарплата*0,86.
Пример расчета: месяц – май, рабочих дней в месяце (за исключением выходных и праздничных) – 10, всего рабочих дней в месяце мае – 23, оклад – 25751,00 рубль.
ЗП=25751*10/23=11196,09
На руки=ЗП*0,86=11196,09*0,86=9628,63.
Слайд 11ЗАДАНИЕ №3
СУММА, ВЫДАННАЯ НА РУКИ
На вход поступает:
количество рабочих дней за месяц,

количество отработанных дней в отчетном периоде,
сумма оклада.
Вывести результат в виде (прописать заголовки):
Слайд 12ЗАДАНИЕ №4
Вывести отформатированную информацию о количестве учеников в заданном классе (по id):

Класс – год обучения и литеру (3 «а»),
Номер школы (9),
Количество учеников.