Задания на практические занятия № 1-21 по курсу "Разработка приложений на базе Oracle", страница 17

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.