Как получить возвращаемое значение из функции в Oracle с помощью жаба - PullRequest
7 голосов
/ 28 января 2011

Как мне узнать в Toad, что такое возвращаемое значение функции?

Я запускаю что-то вроде этого кода:

declare r number;
begin
    r:= packagename.functionname(paraname);
end;

Я не могу понять, как вернуть "r" в сетку данных, некоторые посты предлагают использовать вывод СУБД, но при запуске кода в него ничего не пишется.

Функция выполняет обновления, фиксацию, вызывает другие функции и содержит курсоры.

Ответы [ 3 ]

13 голосов
/ 31 января 2011
begin
    dbms_output.put_line(packagename.functionname(paraname));
end;

Вам нужно будет включить вывод перед запуском этого. Для этого выберите вкладку «Вывод СУБД» в нижней части редактора, затем нажмите крайнюю левую кнопку под вкладкой (она должна изображать красный круг с подсказкой «Включить вывод» (если это зеленый круг, выведите уже включен)).

Результаты запроса будут записаны в окно «Вывод СУБД», а не в «Сетка данных» (возможно, вам придется подождать несколько секунд, чтобы опрос получил результаты). Если вы используете пользовательский тип или курсор ref, этого будет недостаточно, и вам нужно будет обработать результаты в анонимном блоке перед их записью.

8 голосов
/ 28 января 2011

Как насчет просто:

select packagename.functionname(paraname) from dual; 
0 голосов
/ 03 марта 2016

Ответ от Клауса о

выберите имя_пакета.functionname (paraname) из двойного;

работал для меня, но он только возвращал курсор.Это отображается как (CURSOR) в сетке данных в жабе.Как только я дважды щелкнул по нему, он открыл новые окна с сеткой данных для этого курсора, и я увидел свои результаты.

...