Працюємо з pl

член Oracle ACE

Редагування, компіляція, запуск і налагодження PL / SQL-коду легко виконуються в Oracle SQL Developer.

Поряд з іншими можливостями Oracle SQL Developer надає розробникам баз даних та адміністраторів різноманітну середу для створення, редагування, компіляції, виконання та налагодження PL / SQL-програм. Його можливості редагування включають призначену для користувача підсвічування синтаксису, закладки, завершувач коду, розгортку коду і пошук / заміну. Можливості відладчика особливо корисні для роботи з більш складними пакетами, виконання налагодження з пропусками серії процедур, вилученого налагодження (налагодження инициализируется зовнішнім клієнтом або програмою).

* Виконуються PL / SQL-процедури, функції і пакети;

* Налагодження (як локально, так і віддалено) скомпільованої PL / SQL-коду.

Виконайте наступні дії, щоб встановити приклади, використовувані в цій статті:

1. На стартувала базі даних Oracle запустіть Oracle SQL Developer.

2. Створіть нове з'єднання зі схемою HR і назвіть його HR_ORCL. (Більш детальна інформація про створення з'єднання наводиться в урізанні "Наступні кроки".)

4. Введіть код лістингу 1 в текстовому вікні Enter SQL Statement.

Лістинг 1: Скрипт для створення об'єктного типу EMP_REC:

CREATE OR REPLACE TYPE EMP_REC AS

SALARY NUMBER (8, 2),

5. Натисніть F5 (або кнопку Run Script) для створення об'єктного типу EMP_REC.

6. Натисніть кнопку Clear або Ctrl-D, щоб очистити текстове вікно Enter SQL Statement.

7. Створіть специфікацію пакета і його тіло, використовуючи, відповідно, код лістингу 2 і 3 в текстовому вікні Enter SQL Statement і виконавши кожен з скриптів. (Інший спосіб створити новий пакет - розкрити вузол HR_ORCL в Connections Navigator, вибрати Packages, і натиснути правою кнопкою миші по пункту меню New Package.).

Лістинг 2: Скрипт для створення специфікації пакета EMP_FETCHER

CREATE OR REPLACE PACKAGE EMP_FETCHER AS

FUNCTION GET_EMP (EMP_NO IN NUMBER) RETURN EMP_REC;

Лістинг 3: Скрипт для створення тіла пакета EMP_FETCHER

CREATE OR REPLACE PACKAGE BODY EMP_FETCHER AS

FUNCTION GET_EMP (EMP_NO IN NUMBER) RETURN

EMP_REC IS EMP_FOUND EMPLOYEES% ROWTYPE;

WHERE EMPLOYEES.EMPLOYEE_ID = EMP_NO;

Запуск PL / SQL-процедур, функцій, пакетів

Для запуску будь-PL / SQL-процедури, функції або пакета виберіть об'єкт в Connections Navigator, натисніть на нього правою кнопкою миші і виберіть Run. Запустимо пакет EMP_FETCHER. Відкриється діалогове вікно Run PL / SQL, що відображає анонімний PL / SQL-блок і повертається значення. Ви побачите це діалогове вікно при запуску будь-якого PL / SQL-коду в Oracle SQL Developer. Воно показує деталі параметрів - і, для функцій, що повертається - для обраного об'єкта. Якщо вибраний об'єкт - пакет, діалогове вікно покаже список процедур і функцій, визначених у специфікації пакета. Ви можете вибрати одну з цих процедур або дій, щоб почати.

В PL / SQL-блоці змініть EMP_NO: = NULL; на EMP_NO: = 201; і натисніть OK. У таблиці EMPLOYEES 201 - це

Працюємо з pl

У цьому прикладі функція витягує інформацію, яка може використовуватися в процедурі. Ви можете використовувати анонімний блок в діалоговому вікні Run PL / SQL, щоб побачити деталі. Блок містить рядки

-- Модифікуйте код для виведення змінної

DBMS_OUTPUT.PUT_LINE ( ​​"Employee" // emp_no // "is" // v_return.LAST_NAME);

DBMS_OUTPUT.PUT_LINE ( ​​"Hired on the" // v_return.HIRE_DATE // "and earns" // v_return.salary);

Натисніть OK, і подивіться результат у вікні Running - Log.

Редагування і компіляція PL / SQL

Більш корисною може бути функція пошуку, передбачена у спливаючому завершувач, наприклад, по АЛІАС таблиці. наберіть

SELECT FROM EMPLOYEES e

Коли ви будете готові компілювати, натисніть кнопку Compile або Ctrl-Shift-F9. Всі помилки компіляції відображаються у вікні Compiler-Log. Клацніть двічі помилково і перейдіть до джерела помилки.

Навіть якщо PL / SQL-код успішно компілюється і запускається, це не означає, що він працює так, як хотілося б. Це як раз той випадок, коли необхідна налагодження.

Для налагодження коду необхідно встановити одну або кілька точок зупину, а потім вибрати Compile for Debug. В результаті PL / SQL-код буде откомпилирован налагоджування. Якщо потім запустити цей код в режимі налагодження, він виконається до точки зупинки. Точки зупинки можуть налаштовуватися; наприклад, можна зв'язати точки зупину з будь-яким необробленим винятком або з визначеним винятком Oracle Database (Якщо ви налагоджувати PL / SQL в базі даних версії до Oracle9IDatabase Release 2, то для налагодження PL / SQL необхідно встановити перевагу Migration -> PL / SQL Debugger в Use Probe Debugger).

Основні можливості налагодження в Oracle SQL Developer дозволяють контролювати виконання програми. Наприклад, можна переходити по кожному рядку коду або через процедуру або функцію. Oracle SQL Developer відображає значення змінних і даних на кожному кроці коду. Покрокове виконання коду корисно при налагодженні процедури, яка викликає функцію. Не обов'язково проходити по всіх рядках функції, так як можна перескочити через неї і повернутися в отлаживаемую процедуру.

Локальна і віддалена налагодження в Oracle SQL Developer

Використання Oracle SQL Developer для локальної налагодження PL / SQL означає, що ви вибираєте і приєднуєтеся до PL / SQL-програми, використовуючи SQL Developer Connections Navigator. Ви встановлюєте точку зупину в тому місці, де відладчик повинен зробити паузу, і потім натискаєте кнопку Debug. Oracle SQL Developer стартує оцінний сеанс, з'єднується з ним, і зупиняється, коли досягне точки зупину. При локальної налагодженні Oracle SQL Developer - це клієнт, який ініціює налагодження.

Дистанційна налагодження PL / SQL-коду в Oracle SQL Developer означає, що ви почнете отладочную акцію з клієнта, зовнішнього по відношенню до Oracle SQL Developer. Зовнішні клієнти можуть бути PL / SQL Web-додатками, додатками Oracle Application Express або сесіями SQL * Plus. Дистанційна налагодження вимагає деяких ручних дій: запуск отладочного лістенера Oracle SQL Developer і приєднання до цього лістенеру через сесію бази даних, яку потрібно налагодити (віддалена налагодження недоступна для баз даних, версія яких нижче Oracle9I Database Release 2).

Наступні кроки описують приклад віддаленої отладочной сесії:

1. У Oracle SQL Developer приєднаєтеся до бази даних, де знаходиться PL / SQL-код. Зробіть все те саме рядок з'єднання HR_ORCL і пакет EMP_FETCHER, які використовувалися раніше.

2. Виберіть з'єднання HR_ORCL в Connections Navigator, і потім клацніть правою кнопкою миші і виберіть Remote Debug. Відкриється діалогове вікно Listen for JPDA.

5. Натисніть Compile for Debug як показано на Рис. 2.

6. Тепер ви готові до того, щоб почати віддалений процес налагодження з боку Oracle SQL Developer. Для цього необхідно, щоб був готовий зовнішній клієнт, в

Мал. 2: Компіляція з налагоджування

Працюємо з pl

exec DBMS_DEBUG_JDWP.CONNECT_TCP ( "127.0.0.1", 4000)

7. У SQL * Plus використовуйте анонімний блок для виклику функції:

8. Тепер управління передано Oracle SQL Developer і ви можете виконувати код по кроках. Починаючи з цього моменту процес такий же, як при локальній налагодженні.

Стали активні різні налагоджувальні вікна. Всі вони мають своє призначення, проте важливими відразу ж стають:

• Вікно Debugging, яке дозволяє управляти виконанням програми. Почніть налагодження, натискаючи піктограму Step Into.

• Вікно Data відображає всі змінні, які дійсні в поточному контексті. Перейшовши на точку виконання EMP_RTN: = EMP_REC. виберіть закладку Data і розкрийте вузол EMP_FOUND. Тепер запис заповнена. У цій точці можна переглядати і модифікувати змінні, щоб побачити їх вплив на процедуру.

9. Продовжуйте кроки до тих пір, коли процедура завершиться, управління буде передано зовнішньому клієнту, і отладочная сесія завершиться.

Мал. 3: Використання Step Into і підказки

Працюємо з pl

У Oracle SQL Developer можна переглядати і редагувати об'єкти бази даних, дані запитів і випускати звіти. Одна з корисних можливостей Oracle SQL Developer - це здатність редагування, компіляції, виконання та налагодження PL / SQL. Oracle SQL Developer підтримує як локальну так і віддалену налагодження; можливості віддаленої налагодження дозволяють підхопити отладочную сесію PL / SQL в Oracle SQL Developer від зовнішніх клієнтів (таких, як SQL * Plus).

Головна сторінка - Програмні продукти - Статті - Управління розробкою ПЗ. Розробка програмного забезпечення. Розробка веб-додатків. Засоби тестування. Allround Automations. Oracle

Схожі статті