0

私はOracleとPL SQLに少し慣れていません。以下のような手順があります。

{
CREATE OR REPLACE PROCEDURE MyProcedure (MyRecordset OUT SYS_REFCURSOR)
AS
BEGIN 
    DECLARE

        CURSOR MyRecordset IS 
        select
        ...
        from table1, table2, etc..

    BEGIN
        FOR Record in MyRecordset
        LOOP        
            --Do something                             
        END LOOP; -- IMPLICIT CLOSE OCCURS
        -- THIS IS WHERE I NEED TO RETURN THE CURSOR. DOES THIS NOT OPEN IT AT BEGINNING AGAIN?
        OPEN MyRecordset;
    END;
END MyProcedure;
/
}

SYS_REFCURSOR を返す必要があります。これで十分ですか?Toad で次のようにテストしようとすると、データ グリッドに出力が得られません。

{
DECLARE
 type result_set is ref cursor; 
BEGIN
 BIZTALK.GetCustomerPaymentsDebug(:result_set);
END;
}
4

1 に答える 1