Посмотреть результаты хранимой процедуры pl / sql в Toad? - PullRequest
0 голосов
/ 26 июня 2019

Я новичок в Oracle и использую Toad Data Point для создания и тестирования хранимых процедур.

Я создал эту простую хранимую процедуру:

CREATE OR REPLACE PROCEDURE dummy_sp (
                      p_recordset OUT SYS_REFCURSOR) AS 
BEGIN 
  OPEN p_recordset FOR
      select sysdate, user from dual;
END dummy_sp ;
/

Я выполнил это, и результат от Жабы Executed Successfully.

Теперь я хотел бы просмотреть результаты этой хранимой процедуры. В Toad Data Point я набираю следующее:

variable mycursor refcursor;
call dummy_sp ( :mycursor );

У меня всплывающее окно с запросом параметра. Я нажимаю ОК и получаю ошибку ORA-00900: invalid SQL statement.

Как мне увидеть результат SP dummy_sp в Toad Data Point?

В SQL Server я могу запустить exec usp_sales и посмотреть результаты оператора select. Должно быть что-то подобное в Oracle и Toad, верно?

Ответы [ 2 ]

3 голосов
/ 26 июня 2019

Здесь, используя Точка данных жабы .

Выполните хранимую процедуру с переменной связывания в ней, например :mycursor, а затем убедитесь, что тип сконфигурирован как CURSOR и направление как OUT, когда точка данных жабы запрашивает настройки переменной связывания.

enter image description here

Вот результат:

enter image description here

Наконец, если вы хотите избежать всплывающего окна для переменных связывания, вы можете выполнить процедуру непосредственно из проводника объектов:

Щелкните правой кнопкой мышии выберите Операции / Выполнить процедуру , и Жаба запустит ее, не запрашивая тип данных.

0 голосов
/ 26 июня 2019

Если вам нужен обходной путь, пока вы ждете помощи с вашим инструментом, бесплатная IDE по умолчанию для Oracle Database по умолчанию делает это довольно просто.

Если вы запустите программу с помощью редактора кода, она автоматически получит любые выходные данные, будь то параметры OUT или RETURN из функции, включая ваш refcursor

enter image description here

Или, если ваш графический интерфейс имеет надлежащую поддержку выполнения сценариев SQLPlus (SQL Developer не поддерживает вашу программу):

var x refcursor
exec dummy_sp(:x);
print :x;

И вывод:

PL/SQL procedure successfully completed.



SYSDATE             USER                                                                                                                            
------------------- --------------------------------------------------------------------------------------------------------------------------------
27-JUN-19  13.58.47 HR   
...