Как проверить хранимую процедуру, чтобы результат отображался в Результате запроса с сеткой
Вы не ... если вы не напишите свою процедуру в качестве ФУНКЦИИ иВы используете его в запросе SELECT.
Примерно так:
create or replace function ref_expensive_emps return sys_refcursor
as
c sys_refcursor;
begin
open c for select * from employees order by salary desc fetch first 10 rows only;
return c;
end ref_expensive_emps;
/
select ref_expensive_emps() from dual;
Или выполните этот SELECT FROM DUAL в качестве скрипта...
REF_EXPENSIVE_EMPS()
--------------------
CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL PHONE_NUMBER HIRE_DATE JOB_ID SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID COLUMN1
----------- -------------------- ------------------------- ------------------------- -------------------- ------------------- ---------- ---------- -------------- ---------- ------------- --------------------------------------------------------------------------------------------------------------------------------
100 Suppo0rt King Suppo0rt 515.123.4567 21-AUG-18 07.09.58 AD_PRES 49243.75 90
101 Neena Kochhar NKOCHHAR 515.123.5368 21-SEP-89 00.00.00 AD_VP 34888.29 100 90
102 Lex De Haan LDEHAAN 515.123.4569 13-JAN-93 00.00.00 AD_VP 34888.29 100 90
145 John Russell JRUSSEL 011.44.1344.429268 01-OCT-96 00.00.00 SA_MAN 28735.94 .4 100 80
146 Karen Partners KPARTNER 011.44.1344.467268 05-JAN-97 00.00.00 SA_MAN 27710.55 .3 100 80
201 Michael Hartstein MHARTSTE 515.123.5555 17-FEB-96 00.00.00 MK_MAN 26685.16 100 20
108 Nancy Greenberg NGREENBE 515.124.4569 17-AUG-94 00.00.00 FI_MGR 24634.38 101 100
205 Shelley Higgins SHIGGINS 515.123.8080 07-JUN-94 00.00.00 AC_MGR 24634.38 101 110
147 Alberto Errazuriz AERRAZUR 011.44.1344.429278 10-MAR-97 00.00.00 SA_MAN 24634.38 .3 100 80
168 Lisa Ozer LOZER 011.44.1343.929268 11-MAR-97 00.00.00 SA_REP 23608.99 .25 148 80
10 rows selected.
Вопрос 2. В чем разница между клавишей F5 и зеленой стрелкой при выполнении регулярного оператора SELECT?
Обычный оператор выбора: Мы выполняемзапрос, сделайте одну выборку, оставьте набор данных открытым и распечатайте результаты в сетке.Когда вы прокручиваете сетку, мы делаем больше выборок по мере необходимости.Если вы исчерпаете набор результатов или закроете сетку, то работа с БД завершена.
F5 / Выполнить как скрипт: мы запускаем все, что находится в редакторе, или подсвечивается через наш механизм скриптов (имитирует SQL* Плюс), и он печатается на панели вывода скрипта.Все строки извлечены.
Если вы выполняете SP с помощью редактора кода, вы можете видеть ваши Refcursors в сетках, но не в той же самой сетке, что и SQL Worksheet.
Да, с рекурсором, вы можете открыть / прочитать его только один раз ...