sql >> Databasteknik >  >> RDS >> Oracle

Alternativ till sys_refcursor

Använd

TYPE cursor_type IS REF CURSOR;

eller en starkt skriven markör:

CREATE PACKAGE SCHEMA_NAME.PACKAGE_NAME
AS
  TYPE Table_Name_Cursor IS REF CURSOR RETURN SCHEMA_NAME.TABLE_NAME%ROWTYPE;

  -- You said this does not work.
  -- PROCEDURE get_Weakly_Typed_Cursor (
  --   out_cursor OUT SYS_REFCURSOR
  -- );

  PROCEDURE get_Strongly_Typed_Cursor (
    out_cursor OUT Table_Name_Cursor
  );
END;
/

CREATE PACKAGE BODY SCHEMA_NAME.PACKAGE_NAME
AS
  PROCEDURE get_Strongly_Typed_Cursor (
    out_cursor OUT Table_Name_Cursor
  )
  AS
  BEGIN
    OPEN out_cursor FOR
    SELECT * FROM SCHEMA_NAME.TABLE_NAME;
  END;
END;
/


  1. Hur man lägger till en löpande räkning till rader i en "serie" av på varandra följande dagar

  2. SQL Välj endast rader där exakta flera relationer finns

  3. Arbeta med datum i Oracle SQL

  4. MySQL välj maximal längd på matchande sträng