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);

我正在尝试在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);
  :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;