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).
Ссылка на скачивание - внизу страницы.