|
Please enter the first number: 2 |
|
Please enter the second number: 4 |
|
PL/SOL procedure successfully completed. |
|
V_RESULT |
|
4.5 |
4. Создайте блок PL/SQL для расчета годового заработка с учетом годовойпремии. Размеры годовой заработной платы и премии задайте с помощьюпеременных подстановки SQL*Plus. Т.к. размер премии задается впроцентах, необходимо будет выполнить преобразование из целого числа вдробное (например, 15 в .15). Если основная заработная плата за год неопределена, установите там ноль прежде, чем вычислять общий заработок загод. Выполните блок PL/SQL. Для обработки неопределенных значенийиспользуйте функцию NVL.
Примечание: для проверки функции NVL введите NULL в ответ на приглашение: если нажать на клавишу [Return], это вызовет ошибку в связи с отсутствием выражения (missingexpression).
|
Please enter the salary amount: 50000 |
|
Please enter the bonus percentage: 10 |
|
PL/SQL procedure successfully completed. |
|
G_TOTAL |
|
55000 |
Практическое занятие 17
На этом практическом занятии вы создаете процедуры для выборки, ввода, обновления и удаления информации из таблицы с помощью основных команд запроса SQL и команд DML в блоке PL/SQL.
1. Создайте блок PL/SQL, который выбирает максимальный номер отдела втаблице DEPT и сохраняет его в переменной SQL*Plus. Выведите результаты наэкран. Сохраните свой блок PL/SQL в файле p17q1.sql.'
|
G_MAX_DEPTNO |
|
40 |
2. Создайте блок PL/SQL, который вставляет новый отдел в таблицу DEPT.Сохраните свой блок PL/SQL в файле p17q2.sql.'
a. Прибавьте 10 к номеру отдела, полученному вами в упражнении 1, и введите результат в качестве номера нового отдела.
b. Используйте параметр для названия отдела.
c. В поле местоположения отдела оставьте неопределенное значение.
d. Зафиксируйте вставку.
|
Please enter the department number: 50 |
|
Please enter the department name: EDUCATION |
|
PL/SQL procedure successfully completed. |
e. Выведите только что созданный вами отдел.
|
DEPTNO |
DNAME |
LOC |
|
50 |
EDUCATION |
3. Создайте блок PL/SQL, который обновляет местоположение существующеюотдела. Сохраните свой блок PL/SQL в файле p17q3.sql.'
a. Используйте переменную подстановки для ввода номера отдела.
b. Используйте переменную подстановки для ввода местоположения отдела.
c. Выполните свой PL/SQL.
d. Выведите номер, название и местоположение обновленного отдела.
|
Please enter the department number: 50 |
|
Please enter the department location: HOUSTON |
|
PL/SQL procedure successfully completed. |
e. Выведите номер, название и местоположение обновленного отдела.
|
DEPTNO |
DNAME |
LOC |
|
50 |
EDUCATION |
HOUSTON |
f. Выведите отдел, информацию о котором вы обновили.
4. Создайте блок PL/SQL для удаления отдела, созданного в упражнении 2.Сохраните свой блок PL/SQL в файле p17q4.sql.'
a. Используйте переменную подстановки для ввода номера отдела.
b. Выведите на экран количество удаленных строк
c. Протестируйте свой блок PL/SQL.
|
Please enter the department number: 50 |
|
PL/SQL procedure successfully completed. |
|
G_RESULT |
|
1 row(s) deleted. |
d. Что произойдет, если ввести несуществующий номер отдела?
|
Please enter the department number: 99 |
|
PL/SQL procedure successfully completed. |
|
G_RESULT |
|
0 row(s) deleted. |
e. Убедитесь в том, что отдел удален.
|
no rows selected |
Практическое занятие 18
На этом занятии вы будете создавать блоки PL/SQL, которые включают циклы и команды условного управления.
1. Выполите скрипт-файл lab18_1.sql для создания таблицы MESSAGES.Создайте блок PL/SQL для вставки чисел в таблицу MESSAGES.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.