在Oracle中运行存储过程时出错-无法打印光标

在Oracle中运行存储过程时出错-无法打印光标,oracle,stored-procedures,toad,Oracle,Stored Procedures,Toad,我创建以下脚本是为了使报告流程标准化: CREATE OR REPLACE Procedure cba.ITEM_REPORT (date IN varchar2, item IN varchar2, c1 in out SYS_REFCURSOR) AS BEGIN OPEN c1 FOR SELECT DISTINCT * from abc.ITEM_TRANS_TABLE WHERE DEAL.FEED_EFF_DATE = date

我创建以下脚本是为了使报告流程标准化:

CREATE OR REPLACE Procedure cba.ITEM_REPORT
 (date IN varchar2,  item IN varchar2, c1 in out SYS_REFCURSOR)
AS
BEGIN

OPEN c1 FOR
SELECT DISTINCT * from abc.ITEM_TRANS_TABLE
          WHERE
          DEAL.FEED_EFF_DATE = date
          AND DEAL.EDSF_SOURCE_SYSTEM_FEED_CODE = item;              
END;
/
我正在尝试使用以下命令运行存储过程:

set serveroutput on size 100000;
variable rc refcursor;
exec EDSETL.STANDARDCOGNOS('31-jan-20', 'WSSTOR',:rc );
print rc; 
运行上述命令时,我会出现以下错误:

未知错误:ORA-65535 打印变量“rc”时出错


有人能帮忙吗?

您的程序名称甚至与cba.ITEM\u报告中的不匹配-
vs
EDSETL.STANDARDCOGNOS
。你确定你在调用你创建的过程吗?我有一种感觉,蟾蜍这样做是因为
print:rc
,带有前导冒号;但我已经(非常)长时间没有使用它了……我认为c1只需要定义为OUT。我会将date参数重命名为保留字以外的其他名称,并确保数据类型与DEAL.FEED\u EFF\u date匹配,或者确保在适当的情况下进行比较时将其改为\u date()。不,让Oracle来转换数据类型,显式地做。哦,顺便问一下,“交易”在哪里?你是说“ABC”吗?