Oracle存储过程中游标的数据类型是什么?
我正在尝试在Oracle中运行存储过程。定义如下:Oracle存储过程中游标的数据类型是什么?,oracle,stored-procedures,cursor,Oracle,Stored Procedures,Cursor,我正在尝试在Oracle中运行存储过程。定义如下: CREATE OR REPLACE PROCEDURE real_estate_contracts ( P_FROM_DATE DATE, P_TO_DATE DATE, o_cursor OUT ACCOUNTING_REPORTS.results_cursor ) 那我就这么叫它 BEGIN :P_FROM_DATE := to_date(trunc(trunc(sysdate,'MM')-1,'MM')+21);
CREATE OR REPLACE PROCEDURE real_estate_contracts
(
P_FROM_DATE DATE,
P_TO_DATE DATE,
o_cursor OUT ACCOUNTING_REPORTS.results_cursor
)
那我就这么叫它
BEGIN
:P_FROM_DATE := to_date(trunc(trunc(sysdate,'MM')-1,'MM')+21);
:P_TO_DATE := to_date(trunc(sysdate,'MM')+20);
:O_CURSOR := NULL;
QAW.REAL_ESTATE_CONTRACTS ( :P_FROM_DATE, :P_TO_DATE, :O_CURSOR );
END;
但是我不知道如何定义游标数据类型。我想您希望将其定义为SYS\u REFCURSOR。请看以下示例:在SQL developer中,您可以执行以下操作:
VARIABLE cur REFCURSOR;
BEGIN
QAW.REAL_ESTATE_CONTRACTS(
p_from_date => ADD_MONTHS( TRUNC( SYSDATE, 'MM' ), - 1 ) + 21,
p_to_date => TRUNC( SYSDATE, 'MM' ) + 20,
o_cursor => :cur
);
END;
/
PRINT cur;