sql >> データベース >  >> RDS >> Oracle

Oracle関数から参照カーソルを返す

    いくつかの間違い、私の実際の例を見て、ソーステーブルを変更しただけです:

    CREATE OR REPLACE FUNCTION  TEST_CUR RETURN SYS_REFCURSOR
    AS
       VAR_REF SYS_REFCURSOR;
    BEGIN
        OPEN VAR_REF FOR
            SELECT *
            FROM DUAL;
    
        RETURN VAR_REF;
    END;
    

    ここではカーソルを開く必要はありません。すでに開かれています。

    DECLARE
        L_VAR SYS_REFCURSOR;
        L_STATUS VARCHAR2(10);
    BEGIN
        L_VAR:=TEST_CUR;
        LOOP
            FETCH L_VAR INTO L_STATUS;
            EXIT WHEN L_VAR%NOTFOUND;
            DBMS_OUTPUT.PUT_LINE( L_STATUS );
        END LOOP;
        CLOSE L_VAR;
    END;
    

    Oracleカーソルをテストする方法を示す非常に興味深い投稿:

    5つの異なる方法OracleRefCursorの結果をテストする



    1. SQL Serverで、ID列のインデックスを作成する必要がありますか、それとも自動的に作成されますか?

    2. jpa/hibernateを使用したエンティティの更新に関する問題

    3. FlaskSQLAlchemyを使用したSQLiteからMySQLへの切り替え

    4. SSRS2016データソースにOracle接続タイプが表示されない