Кому это может ответить,
Я пытаюсь вернуть список дат и дней недели для использования в других функциях. Код ниже скомпилирован без ошибок. Но он должен давать 15 дней (через переменную V_MAX_DAYS) и номер дня в этой неделе.
Я пытался реализовать таким образом, но не могу получить вывод с использованием DBMS_OUTPUT. Я хочу проверить это, но получил ошибку ORA-06532 при запуске.
Моя цель - вернуть значения в приложение asp.net, как мы это сделали, используя SYS_REFCURSOR.
Как я могу этого достичь?
Спасибо за беспокойство,
Сценарий выглядит так:
CREATE OR REPLACE TYPE DATE_ROW AS OBJECT
(
WEEKDAY_VALUE DATE,
DATE_IN_LIST VARCHAR2(5)
)
/
CREATE OR REPLACE TYPE DATE_TABLE as table of DATE_ROW
/
CREATE OR REPLACE FUNCTION FN_LISTDATES
RETURN DATE_TABLE
IS
V_DATE_TABLE DATE_TABLE := DATE_TABLE ();
V_MAX_DAYS NUMBER := 15;
V_CALCULATED_DATE DATE;
V_WEEKDAY VARCHAR2 (5);
BEGIN
FOR X IN -2 .. V_MAX_DAYS
LOOP
SELECT TO_DATE (TO_CHAR (SYSDATE + X, 'DD.MM.YYYY'))
INTO V_CALCULATED_DATE
FROM DUAL;
V_DATE_TABLE.EXTEND;
V_DATE_TABLE(X) := DATE_ROW(V_CALCULATED_DATE, 'Test');
END LOOP;
RETURN V_DATE_TABLE;
END;
/