Извините, если это было задано раньше, но я не смог найти его на сайте.pl/sql сохраненная функция ora-01002 извлечения из последовательности SIMPLE
Я написал следующую сохраненную функцию для Oracle с изменениями имен переменных, которые легче читать.
create or replace FUNCTION MY_FUNCTION
(
INPUT IN NUMBER
, OUTPUT OUT SYS_REFCURSOR
) RETURN SYS_REFCURSOR AS
BEGIN
OPEN OUTPUT FOR
select *
FROM A_USER.A_VIEW myView
WHERE myView.ID = INPUT;
RETURN OUTPUT;
END MY_FUNCTION;
Таким образом, при запуске/тестировании в sql-разработчике вы получаете вкладку «выходные переменные». В этой вкладке есть два значения: < «Возвращаемое значение»>, которое возвращается функцией в традиционном смысле и «ВЫХОД», которая является значением выходной переменной OUTPUT. Они должны быть одинаковыми, но значение, которое я получаю для «OUTPUT», - это ошибка в заголовке, а < «Возвращаемое значение»> работает так, как должно.
Я новичок в pl/sql и никогда не изучал его в школе. Может ли кто-нибудь дать мне некоторое представление о том, что здесь происходит, и, может быть, решение? Спасибо Итан
извините, но я не понимаю, почему вы возвращаете одно и то же значение дважды, если используете только «возвращаемое значение», вы разрешаете проблему? – Aramillo
@ Aramillo Это общая проблема. Они оба должны работать. – user3439941