Тема 5. Язык pl/sql.
Создайте блок PL/SQL, содержащий объявление курсораs_cur, для выбора из таблицыsotrud(ns,name,oklad,gr) фамилию, оклад и год рождения (gr). Обработайте каждую строку курсора и, если оклад меньше 5000 и возраст больше 40, вывести запись на экран.
Объявите курсор s_cur, в создаваемом блокеPL/SQL. Если оклад служащих меньше 3000, добавьте 15% и выведите результат на экран.
Создайте блок PL/SQL, в который передайте размер оклада с помощью переменной подстановки. В исполняемой части программы подсчитайте годовой оклад (ГО) и затем рассчитайте премии из условия: ГО > 20000 премия – 2000, ГО > 10000 и < 20000 премия – 1000, ГО < 10000 премия – 500
Занесите номер отдела в переменную подстановки. Напишите блок PL/SQLдля вывода количества служащих в этом отделе.
Создайте блок PL/SQLдля вставки чисел в таблицу Табл(ном). Вставьте числа от 5 до 20, исключая 7, 11, 13.
Создайте блок PL/SQL. Используя цикл, выберите имена служащих, фамилии которых начинаются на букву “М” и сохраните их в новой таблице, пронумеровав 10, 20, 30 …
Создайте блок PL/SQL. Объявите курсорs_cur, объявите переменные, в которые будут заноситься значения, выбираемые курсором. Используйте атрибут %TYPE. Выведите всех служащих, оклад которых меньше 5000, если он меньше добавьте 500
Создайте процедуру вставки строки о новом отделе с номером 210 в отношение «Отделы (Ном, Наименование, Кол_работников, Телефон)».
Создайте и выполните блок PL/SQL, которому передается год и который определяет, является ли этот год високосным. Високосный год должен делиться на 4, но не на 100, или же должен делиться на 400. Например: 1996 – високосный год, 2006 – невисокосный год.
Создайте блок курсора с подзапросом на PL/SQL. Необходимо чтобы запрос выводил отделы с числом служащих не менее 3. Подзапрос необходим для подсчета числа служащих. Количество служащих должны передаваться в переменные. Названия отделов и количество служащих должны выводиться на экран.
Приложение 2. Задания для самостоятельного выполнения.
(Номера тем берутся из приложения 1)
№ задания |
Тема 1 |
Тема 2 |
Тема 3 |
Тема 4 |
Тема 5 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
2 |
2 |
2 |
3 |
3 |
3 |
3 |
3 |
3 |
4 |
4 |
4 |
4 |
4 |
4 |
5 |
5 |
5 |
5 |
5 |
5 |
6 |
6 |
6 |
6 |
6 |
6 |
7 |
7 |
7 |
7.1 |
7 |
7 |
8 |
8 |
8.1 |
7.2 |
8 |
8 |
9 |
9 |
8.2 |
7.3 |
9 |
9 |
10 |
10 |
8.3 |
7.4 |
10 |
10 |
11 |
6 |
8.4 |
8 |
9 |
8 |
12 |
7 |
8.5 |
9 |
8 |
9 |
13 |
8 |
8.6 |
10 |
7 |
6 |
14 |
9 |
9.1 |
11 |
6 |
7 |
15 |
10 |
9.2 |
6 |
5 |
4 |
16 |
5 |
9.3 |
5 |
1 |
5 |
17 |
4 |
9.4 |
4 |
2 |
2 |
18 |
3 |
9.5 |
3 |
3 |
3 |
19 |
2 |
9.6 |
2 |
4 |
1 |
20 |
1 |
9.7 |
1 |
5 |
10 |