Практические занятия по курсу «Разработка программных единиц pl/sql»
Практическое занятие 6. Встроенные пакеты Oracle
Download 287.16 Kb.
|
Блоки. Часть 2
- Bu sahifa navigatsiya:
- WEB_EMPLOYEE_REPORT . Процедура ничего не принимает на вход и, с помощью стандартного пакета HTP
- DBMS_SCHEDULER
- SCHEDULE_REPORT
- EMPSAL_REPORT
- EMPLOYEE_REPORT
Практическое занятие 6. Встроенные пакеты OracleСоздайте процедуру EMPLOYEE_REPORT для генерации сводной выборки из таблицы employees и сохранения ее в текстовом файле операционной системы с помощью стандартного пакета UTL_FILE. Отчет должен содержать информацию о сотрудниках, чья ежемесячная зарплата превышает среднюю зарплату по его отделу. Процедура должна принимать на вход 2 параметра. Первый параметр DIR используется для передачи имени директории, в которую будет сохраняться файл с отчетом. Второй параметр передает имя файла, который будет создан в указанной директории. В качестве имени директории используйте STUD_PLSQL ПРИМЕЧАНИЕ: физическое расположение директории \\Westfold\Student\PLSQL - у вас есть права на просмотр файлов в этой директории по сети. Создайте процедуру (в пакете EMP_PKG или отдельно), в которую добавьте секцию для обработки ошибок. В шапке отчета добавьте свою фамилию, номер группы и системное дату и время формирования отчета. Запустите программу на исполнение, сформируйте второй параметр таким образом, чтобы имя Вашего отчета в директории было уникальным. Шаблон для формирования имени: sal_rpt_XXXX_YYYY.txt, где XXXX - это ваша учетная запись, а YYYY- текущее системное дата и время с точностью до секунды. Создайте новую процедуру WEB_EMPLOYEE_REPORT. Процедура ничего не принимает на вход и, с помощью стандартного пакета HTP, генерирует отчет, подобный отчету из предыдущей процедуры, в формате HTML. Для тестирования работы процедуры сначала выполните инструкции SET SERVEROUTPUT ON, затем выполните процедуру. Результат работы процедуры будет помещен в буфер. Исполните OWA_UTIL.SHOWPAGE, чтобы вывести содержимое буфера на экран. Вручную создайте файл web_employee_report_USERNAME_SYSDATE.html, скопируйте из SQLDEVELOPER и вставьте в него результат работы процедуры. Сохраните файл в своем каталоге в папке WORKDATA. С помощью пакета DBMS_SCHEDULER создайте задание, для регулярной генерации отчетов в формате текстовых файлов, которое по указанному расписанию запускает на исполнение процедуру EMPLOYEE_REPORT. Создайте хранимую процедуру SCHEDULE_REPORT, которая принимает на вход частоту повторений запуска задания (интервал) и длительность выполнения задания в минутах (по умолчанию – 10). В теле процедуры создайте задание с именем EMPSAL_REPORT, которое должно представлять собой анонимный блок, запускающийся на исполнение сразу же после вызова процедуры SCHEDULE_REPORT. Задание должно вызывать процедуру EMPLOYEE_REPORT (имя файла для сохранения отчёта должно генерироваться по указанным в задании 5.2 правилам, в качестве имени директории используйте STUD_PLSQL). Для хранения текста анонимного блока (тела задания) используйте локальную переменную plsql_block типа VARCHAR2(200). Сформируйте параметр end_date следующим образом: длительность выполнения задания в минутах разделите на количество минут в сутках и прибавьте получившееся значение к текущему значению даты и времени. Протестируйте работу процедуры SCHEDULE_REPORT. Создайте задание, запускающее процедуру на исполнение каждые 2 минуты в течение 6 минут. После запуска процедуры просмотрите содержимое системной таблички USER_SCHEDULER_JOBS. Убедитесь, что там есть информация о задании. Просмотрите каталог \\Westfold\Student\PLSQL. Там должно появиться несколько отчетов с вашим именем. Download 287.16 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling