Я создал пакет из существующей процедуры, процедура только дает точный вывод, но при создании пакета нет ошибок, но он не показывает выходной файл, который я передал для ввода в курсор
------------------ УПАКОВКА КАК СЛЕДУЮЩАЯ -------------------------
SET SERVEROUTPUT ON;
CREATE OR REPLACE PACKAGE user.report AS
PROCEDURE distribution (
code_in IN user.test.schm_code%TYPE,
fromdate IN DATE,
todate IN DATE
);
END report;
/
-------------------------------------------------
----------------Package Body---------------------
-------------------------------------------------
CREATE OR REPLACE PACKAGE BODY user.report as
----------------------------------------------
----------VARIABLE DECLARATION----------------
----------------------------------------------
code_in user.test.code%TYPE;
fromdate DATE;
todate DATE;
v_code user.test.code%TYPE;
v_count number;
v_code user.test.acct_crncy_code%TYPE;
v_amount number(17,4);
-----------------------------------------------
---------------CURSOR DECLARATION--------------
-----------------------------------------------
CURSOR td_data IS
( SELECT
test.code,
COUNT(test.code) AS count,
test.crncy
FROM
user.table1
JOIN user.test ON test.id = table1.id
WHERE
user.test.opendate BETWEEN TO_DATE(fromdate, 'dd-mm-yyyy') AND TO_DATE(todate, 'dd-mm-yyyy')
and
user.test.code = code_in
GROUP BY
test.code,test.crncy
);
------------------------PROCEDURE CREATION-----------------------
PROCEDURE distribution
(
code_in IN user.test.code%TYPE,
fromdate IN DATE,
todate IN DATE
)
AS
BEGIN
dbms_output.put_line('code'||' '||'COUNT'||' '||'TOTAL');
OPEN td_data;
LOOP
FETCH td_data INTO v_code,v_count,v_code,v_amount;
EXIT WHEN td_data%notfound;
dbms_output.put_line(v_code
|| ' '
||v_count
|| ' '
||v_code
||' '
||v_amount
);
END LOOP;
CLOSE td_data;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
END distribution;
END report;
/
BEGIN
user.report.distribution('x1fsr','01-02-2016','01-07-2020');
END;
/
alter session set nls_date_format='dd-mm-yyyy';
Я попытался создать пакет без хорошо работающего курсора
Я попытался создать курсор без работы с пользователем, но с пользовательским вводом он не работает должным образом