SnowConvert AI - Références des fonctions pour Oracle

DATEDIFF_UDF(TIMESTAMP, NUMBER)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour soustraire un nombre (qui est un nombre de jours) d’un horodatage.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM TIMESTAMP, SECOND_PARAM NUMBER)

Paramètres

FIRST_PARAM TIMESTAMP

L”horodatage qui représente la minute.

SECOND_PARAM NUMBER

Le nombre de jours qui représente le terme à soustraire.

Renvoie

Renvoie un horodatage avec la différence entre l”horodatage et le nombre.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.DATEDIFF_UDF('2024-01-26 22:00:50.708 -0800', 3);

Sortie :

2024-01-23

DATEDIFF_UDF(TIMESTAMP, DATE)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour soustraire une date d’un horodatage.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM TIMESTAMP, SECOND_PARAM DATE)

Paramètres

FIRST_PARAM TIMESTAMP

L”horodatage qui représente la minute.

SECOND_PARAM DATE

La date qui représente le terme à soustraire.

Renvoie

Renvoie un entier avec la différence entre l”horodatage et la date.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.DATEDIFF_UDF('2024-01-26 22:00:50.708 -0800', TO_DATE('2023-01-26'));

Sortie :

365

DATE_TO_JULIAN_DAYS_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) transforme la date grégorienne en date julienne (le nombre de jours depuis le 1er janvier 4712 BC.).

PUBLIC.DATE_TO_JULIAN_DAYS_UDF(INPUT_DATE DATE)

Paramètres

INPUT_DATE DATE

La date grégorienne à transformer.

Renvoie

Renvoie la représentation de la date julienne.

Exemple de migration

Entrée :

Select TO_CHAR(SYSDATE, 'J') as A from DUAL;

Sortie :

Select
PUBLIC.DATE_TO_JULIAN_DAYS_UDF(CURRENT_TIMESTAMP()) as A from DUAL;

Exemple d’utilisation

Entrée :

SELECT PUBLIC.DATE_TO_JULIAN_DAYS_UDF(DATE '1998-12-25');

Sortie :

2451173

UTL_FILE.PUT_LINE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de la procédure Oracle UTL_FILE_PUT_LINE.

UTL_FILE.PUT_LINE_UDF(FILE VARCHAR,BUFFER VARCHAR)

Paramètres

FILE VARCHAR

Le fichier permettant d’ouvrir et d’enregistrer le nouveau tampon.

BUFFER VARCHAR

Le tampon à enregistrer dans le fichier défini.

Renvoie

Retourne un varchar avec le résultat.

Exemple d’utilisation

Avertissement

Pour revoir les lignes du fichier, il y a deux possibilités : télécharger le fichier à partir de la CLI Snowflake ou revoir brièvement les informations avec SELECT * FROM UTL_FILE.FOPEN_TABLES_LINES; mais seulement si le fichier n’a pas été fermé.

Entrée :

CREATE OR REPLACE PROCEDURE PROC()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
    file_data  VARIANT;
   BEGIN

    CALL UTL_FILE.FOPEN_UDF('test2.csv','a');

    SELECT
      *
    INTO
      file_data
    FROM
      TABLE(RESULT_SCAN(LAST_QUERY_ID()));

    CALL UTL_FILE.PUT_LINE_UDF(:file_data,'New line');


    CALL UTL_FILE.FCLOSE_UDF(:file_data);


   END
$$;

CALL PROC();

Sortie :

null

UTL_FILE.FOPEN_UDF (VARCHAR,VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de la procédure Oracle UTL_FILE_FOPEN.

UTL_FILE.FOPEN_UDF(FILENAME VARCHAR,OPEN_MODE VARCHAR)

Paramètres

FILENAME VARCHAR

Le fichier à ouvrir.

OPEN_MODE VARCHAR

Indicates the mode on which the file will be available.

Renvoie

Retourne un varchar avec le résultat.

Exemple d’utilisation

Avertissement

The UTL_FILE.FOPEN_UDF allows to open a .csv file. To access the file it is required to create a stage for the file and use the Snowflake CLI to upload it.

Entrée :

CREATE OR REPLACE PROCEDURE PROC()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
    file_data  VARIANT;
   BEGIN

    CALL UTL_FILE.FOPEN_UDF('test2.csv','a');

    SELECT
      *
    INTO
      file_data
    FROM
      TABLE(RESULT_SCAN(LAST_QUERY_ID()));


   END
$$;

CALL PROC();

Sortie :

null

JSON_VALUE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) reproduit la fonction JSON_VALUE pour extraire un seul résultat d’une variable JSON.

JSON_VALUE_UDF(JSON_OBJECT VARIANT, JSON_PATH STRING, RETURNING_TYPE STRING, ON_ERROR_MESSAGE VARIANT, ON_EMPTY_MESSAGE VARIANT)

Paramètres

JSON_OBJECT VARIANT

La variable JSON à partir de laquelle les valeurs doivent être extraites.

JSON_PATH STRING

Le chemin JSON qui indique l’emplacement des valeurs à l’intérieur du JSON_OBJECT.

RETURNING_TYPE STRING

Le type à renvoyer.

ON_ERROR_MESSAGE VARIANT

Le message d’erreur à ajouter si nécessaire.

ON_EMPTY_MESSAGE VARIANT

Le message d’erreur à ajouter en cas de message vide.

Renvoie

Renvoie une valeur unique spécifiée par le JSON_PATH à l’intérieur du JSON_OBJECT. Si le résultat n’est pas une valeur unique, il renvoie un message d’erreur par défaut ou un message d’erreur défini dans les paramètres d’entrée.

Exemple d’utilisation

Entrée :

   SELECT
     JSON_VALUE_UDF(

     PARSE_JSON('{
  "iceCreamOrders": [
    {
      "customerID": "CUST001",
      "orderID": "ORD001",
      "productID": "PROD001",
      "quantity": 2
    }
  ]
}'),

JSON_EXTRACT_PATH_TEXT('{
  "iceCreamOrders": [
    {
      "customerID": "CUST001",
      "orderID": "ORD001",
      "productID": "PROD001",
      "quantity": 2
    }
  ]
}', 'iceCreamOrders'), 'VARIANT', TO_VARIANT('There was an error'), TO_VARIANT('Empty message'));

Sortie :

"Empty message"

DATEADD_UDF (FLOAT, TIMESTAMP)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée dans les cas où il y a une addition entre un nombre flottant et un horodatage.

PUBLIC.DATEADD_UDF(FIRST_PARAM FLOAT, SECOND_PARAM TIMESTAMP)

Paramètres

FIRST_PARAM FLOAT

Le numéro d’horodatage qui sera ajouté au deuxième paramètre flottant.

SECOND_PARAM DATE

Le nombre flottant à ajouter à l’horodatage du premier paramètre.

Renvoie

Renvoie un horodatage avec l’addition entre l’horodatage et le nombre flottant spécifié.

Exemple d’utilisation

Entrée :

SELECT DATEADD_UDF(1, current_timestamp);

Sortie :

2024-01-30 18:47:16.988

FETCH_BULK_COLLECTIONS_UDF (OBJECT)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de récupération en vrac des collections dans Oracle. Cette version de la fonction ne reçoit que le curseur.

FETCH_BULK_COLLECTIONS_UDF(CURSOR OBJECT)

Paramètres

CURSOR OBJECT

Le curseur qui est traité et rempli avec les données dans la récupération de collection en vrac.

Renvoie

Renvoie un objet contenant des informations relatives à la logique de récupération des collections en vrac.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTIONS_UDF(:MY_CURSOR)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    [
      "TEST_A"
    ]
  ],
  "ROWCOUNT": 1
}

DATEADD_UDF (DATE, FLOAT)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée dans les cas où il y a une addition entre une date et un type comme flottant ou horodatage.

PUBLIC.DATEADD_UDF(FIRST_PARAM DATE, SECOND_PARAM FLOAT)

Paramètres

FIRST_PARAM DATE

La date à ajouter au numéro indiqué dans le deuxième paramètre.

SECOND_PARAM FLOAT

Le numéro flottant qui va être ajouté au premier paramètre de date.

Renvoie

Renvoie l’addition entre la date et le nombre flottant spécifié.

Exemple de migration

Entrée :

SELECT TO_DATE('05/11/21', 'dd/mm/yy') + 3.4 from dual;

Sortie :

SELECT
PUBLIC.DATEADD_UDF( TO_DATE('05/11/21', 'dd/mm/yy'), 3.4) from dual;

Exemple d’utilisation

Entrée :

SELECT DATEADD_UDF('2022-02-14',6);

Sortie :

2022-02-20

DATEDIFF_UDF(DATE, TIMESTAMP)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour soustraire un horodatage d’une date.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM DATE, SECOND_PARAM TIMESTAMP)

Paramètres

FIRST_PARAM DATE

La date de la soustraction est terminée.

SECOND_PARAM TIMESTAMP

L”horodatage à soustraire du premier paramètre.

Renvoie

Renvoie un entier contenant les jours compris entre le premier et le deuxième paramètre.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.DATEDIFF_UDF(TO_DATE('2024-01-26'), '2022-02-14 15:31:00');

Sortie :

711

DBMS_RANDOM.VALUE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) réplique la fonctionnalité de la fonction DBMS_RANDOM.VALUE Oracle.

DBMS_RANDOM.VALUE_UDF()

Paramètres

Aucun paramètre d’entrée.

Renvoie

Renvoie un nombre double avec un nombre aléatoire.

Exemple d’utilisation

Entrée :

SELECT DBMS_RANDOM.VALUE_UDF();

Sortie :

0.6666235896

DBMS_RANDOM.VALUE_UDF (DOUBLE, DOUBLE)

Définition

Cette fonction définie par l’utilisateur (UDF) réplique la fonctionnalité de la fonction DBMS_RANDOM.VALUE Oracle.

DBMS_RANDOM.VALUE_UDF(low DOUBLE, high DOUBLE)

Paramètres

faibleDOUBLE

La limite initiale à prendre en compte.

élevéDOUBLE

La limite délimitante qui se coordonne avec le premier paramètre.

Renvoie

Renvoie un nombre double avec un nombre aléatoire entre les limites spécifiées.

Exemple d’utilisation

Entrée :

SELECT DBMS_RANDOM.VALUE_UDF(1.1, 2.2);

Sortie :

1.637802374

FETCH_BULK_RECORD_COLLECTIONS_UDF (OBJECT, ARRAY)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour couvrir les fonctionnalités de récupération des enregistrements en vrac avec différents paramètres d’entrée qui déterminent les informations ajoutées ou le comportement du curseur.

FETCH_BULK_RECORD_COLLECTIONS_UDF(CURSOR OBJECT, COLUMN_NAMES ARRAY)

Paramètres

CURSOR OBJECT

Le curseur en cours de traitement.

COLUMN_NAMES ARRAY

Les noms des colonnes associées au curseur.

Renvoie

Renvoie un objet contenant les informations traitées.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));
INSERT INTO BULKCOLLECTTABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_RECORD_COLLECTIONS_UDF(:MY_CURSOR, NULL)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "RESULT": {
    "TEST": [
      "TEST_A"
    ]
  },
  "ROWCOUNT": 1
}

FETCH_BULK_COLLECTION_RECORDS_UDF (OBJECT, ARRAY)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de FETCH dans Oracle. C’est dans cette variante qu’il reçoit le curseur et les noms des colonnes.

FETCH_BULK_COLLECTION_RECORDS_UDF(CURSOR OBJECT, COLUMN_NAMES ARRAY)

Paramètres

CURSOR OBJECT

Le curseur qui est traité et rempli avec les données dans la récupération en vrac.

COLUMN_NAMES ARRAY

Le nom associé à la colonne n’est pas le nom initial.

Renvoie

Renvoie un objet contenant les enregistrements de la récupération en vrac.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTION_RECORDS_UDF(:MY_CURSOR, NULL)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    {
      "TEST": "TEST_A"
    }
  ],
  "ROWCOUNT": 1
}

JULIAN_TO_GREGORIAN_DATE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour transformer une date julienne dans les formats : JD Edwards, YYYYDDD (astronomique) et YYYYDDD (ordinal).

JULIAN_TO_GREGORIAN_DATE_UDF(JULIAN_DATE CHAR(7), FORMAT_SELECTED CHAR(1))

Paramètres

JULIAN_DATE CHAR

La date julienne à transformer.

FORMAT_SELECTED CHAR

Le format requis pour la logique. Par exemple : 'E', 'J', 'R'. Astronomie normalisée ou 'J' est le format par défaut.

Renvoie

Renvoie une variante avec la représentation de la date julienne.

Exemple d’utilisation

Entrée :

SELECT JULIAN_TO_GREGORIAN_DATE_UDF('098185');

Sortie :

'1998-07-04' --(a.k.a Sat Jul 04 1998)

TIMESTAMP_DIFF_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour les opérations arithmétiques d’horodatage et la fonctionnalité d’équivalence dans Snowflake.

TIMESTAMP_DIFF_UDF(LEFT_TS TIMESTAMP, RIGHT_TS TIMESTAMP )

Paramètres

LEFT_TS TIMESTAMP

La valeur minimale.

RIGHT_TS TIMESTAMP

La valeur de la soustraction.

Renvoie

Renvoie un varchar contenant la différence entre les horodatages.

Exemple d’utilisation

Entrée :

SELECT TIMESTAMP_DIFF_UDF(TO_TIMESTAMP('2024-01-31 11:47:20.532 -0800'), TO_TIMESTAMP('2024-01-31 11:47:20.532 -0800'));

Sortie :

-000000000  00:00:00.00000000

REGEXP_LIKE_UDF (STRING, STRING, STRING)

Définition

Cette fonction définie par l’utilisateur (UDF) est

REGEXP_LIKE_UDF(COL STRING, PATTERN STRING, MATCHPARAM STRING)

Paramètres

COL STRING

La chaîne à évaluer avec le modèle.

PATTERN STRING

Le modèle à vérifier.

MATCHPARAM STRING

Le paramètre de correspondance qui déterminera si les données sont sensibles à la casse ou non.

Renvoie

Renvoie

Exemple d’utilisation

Entrée :

SELECT REGEXP_LIKE_UDF('san Francisco', 'San* [fF].*', 'i');

Sortie :

TRUE

FETCH_BULK_COLLECTIONS_UDF (OBJECT, FLOAT)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de récupération en vrac des collections dans Oracle. Cette version de la fonction reçoit le curseur et la valeur limite du nombre de lignes.

FETCH_BULK_COLLECTIONS_UDF(CURSOR OBJECT, LIMIT FLOAT)

Paramètres

CURSOR OBJECT

Le curseur qui est traité et rempli avec les données dans la récupération de collection en vrac.

LIMIT FLOAT

La limite des enregistrements à appeler.

Renvoie

Renvoie un objet contenant des informations relatives à la logique de récupération des collections en vrac.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTIONS_UDF(:MY_CURSOR, 1.0)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    [
      "TEST_A"
    ]
  ],
  "ROWCOUNT": 1
}

INIT_CURSOR_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) permet d’initialiser un objet curseur avec les fonctionnalités équivalentes.

INIT_CURSOR_UDF(NAME VARCHAR, QUERY VARCHAR)

Paramètres

NAME VARCHAR

Nom du curseur.

QUERY VARCHAR

La requête associée au curseur.

Renvoie

Renvoie un objet contenant les informations relatives au curseur.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "ISOPEN": false,
  "NAME": "MY_CURSOR",
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "ROWCOUNT": -1
}

UPDATE_PACKAGE_VARIABLE_STATE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) met à jour les valeurs des variables du paquet. Il s’agit d’une enveloppe pour la fonction SETVARIABLE() de Snowflake.

UPDATE_PACKAGE_VARIABLE_STATE_UDF (VARIABLE VARCHAR, NEW_VALUE VARCHAR)

Paramètres

VARIABLE VARCHAR

Le nom de la variable à laquelle la valeur doit être définie.

NEW_VALUE VARCHAR

La valeur qui sera stockée.

Renvoie

Renvoie un varchar contenant l’information de la variable mise à jour.

Exemple d’utilisation

Avertissement

Veuillez revoir l’existence de la variable.

Entrée :

CALL PUBLIC.UPDATE_PACKAGE_VARIABLE_STATE_UDF('MY_LOCAL_VARIABLE', '1');

Sortie :

1

OPEN_BULK_CURSOR_UDF (OBJECT)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour dessiner un curseur sans liaison.

OPEN_BULK_CURSOR_UDF(CURSOR OBJECT)

Paramètres

CURSOR OBJECT

Le curseur à traiter comme ouvert.

Renvoie

Renvoie un objet contenant les informations actuelles du curseur.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "ROWCOUNT": 0
}

DATEADD_UDF (TIMESTAMP, FLOAT)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée dans les cas où il y a une addition entre un horodatage et un nombre flottant.

PUBLIC.DATEADD_UDF(FIRST_PARAM TIMESTAMP, SECOND_PARAM FLOAT)

Paramètres

FIRST_PARAM TIMESTAMP

Le numéro d’horodatage qui sera ajouté au deuxième paramètre flottant.

SECOND_PARAM FLOAT

Le nombre flottant à ajouter à l’horodatage du premier paramètre.

Renvoie

Renvoie un horodatage avec l’addition entre l’horodatage et le nombre flottant spécifié.

Exemple d’utilisation

Entrée :

SELECT DATEADD_UDF(current_timestamp, 1);

Sortie :

2024-01-26 13:22:49.354

DATEDIFF_UDF(TIMESTAMP, TIMESTAMP)

Définition

Cette fonction définie par l’utilisateur (UDF) soustrait un horodatage d’un autre horodatage.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM TIMESTAMP, SECOND_PARAM TIMESTAMP)

Paramètres

FIRST_PARAM TIMESTAMP

L”horodatage qui représente la minute.

SECOND_PARAM TIMESTAMP

L”horodatage qui représente la soustraction.

Renvoie

Renvoie un entier avec la différence de jours entre le premier et le second horodatage.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.DATEDIFF_UDF('2024-01-26 22:00:50.708 -0800','2023-01-26 22:00:50.708 -0800');

Sortie :

365

UTL_FILE.FCLOSE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de la procédure Oracle UTL_FILE_FCLOSE.

UTL_FILE.FCLOSE_UDF(FILE VARCHAR)

Paramètres

FILE VARCHAR

Le fichier à traiter et à fermer.

Renvoie

Retourne un varchar avec le résultat.

Exemple d’utilisation

Avertissement

UTL_FILE.FCLOSE_UDF ferme le fichier en cours de traitement. Pour examiner le résultat ou manipuler les fichiers, il est exigé d’utiliser la console CLI Snowflake. La console CLI Snowflake permet le chargement ou le téléchargement d’un fichier.

Entrée :

CREATE OR REPLACE PROCEDURE PROC()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
    file_data  VARIANT;
   BEGIN

    CALL UTL_FILE.FOPEN_UDF('test2.csv','a');

    SELECT
      *
    INTO
      file_data
    FROM
      TABLE(RESULT_SCAN(LAST_QUERY_ID()));

    CALL UTL_FILE.PUT_LINE_UDF(:file_data,'New line');


    CALL UTL_FILE.FCLOSE_UDF(:file_data);


   END
$$;

CALL PROC();

Sortie :

null

FETCH_BULK_RECORD_COLLECTIONS_UDF (OBJECT)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour couvrir les fonctionnalités de récupération des enregistrements en vrac avec différents paramètres d’entrée qui déterminent les informations ajoutées ou le comportement du curseur.

FETCH_BULK_RECORD_COLLECTIONS_UDF(CURSOR OBJECT)

Paramètres

CURSOR OBJECT

Le curseur en cours de traitement.

Renvoie

Renvoie un objet contenant les informations traitées.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));
INSERT INTO BULKCOLLECTTABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_RECORD_COLLECTIONS_UDF(:MY_CURSOR)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "RESULT": {
    "TEST": [
      "TEST_A"
    ]
  },
  "ROWCOUNT": 1
}

CAST_DATE_UDF

Définition

La fonction transforme un horodatage au format chaîne en une date. Elle renvoie une date au format spécifié.

PUBLIC.CAST_DATE_UDF(DATESTR STRING)

Paramètres

DATESTR STRING

La date sous forme de chaîne à formater. Le format doit être “YYYY-MM-DD"T"HH24:MI:SS.FF' par exemple '2024-01-25T23:25:11.120'.

Veuillez prendre connaissance des informations suivantes concernant le formatage ici.

Renvoie

Renvoie une date avec le nouveau format appliqué.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.CAST_DATE_UDF('2024-01-25T23:25:11.120');

Sortie :

2024-01-25

FETCH_BULK_COLLECTION_RECORDS_UDF (OBJECT, FLOAT, ARRAY)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de FETCH dans Oracle. C’est dans cette variante qu’il reçoit le curseur, la limite et les noms des colonnes.

FETCH_BULK_COLLECTION_RECORDS_UDF(CURSOR OBJECT, LIMIT FLOAT, COLUMN_NAMES ARRAY)

Paramètres

CURSOR OBJECT

Le curseur qui est traité et rempli avec les données dans la récupération en vrac.

LIMIT FLOAT

La limite des enregistrements à appeler.

COLUMN_NAMES ARRAY

Le nom associé à la colonne n’est pas le nom initial.

Renvoie

Renvoie un objet contenant les enregistrements de la récupération en vrac.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTION_RECORDS_UDF(:MY_CURSOR, 1.0, NULL)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    {
      "TEST": "TEST_A"
    }
  ],
  "ROWCOUNT": 1
}

DATEDIFF_UDF(DATE, INTEGER)

Définition

Cette fonction définie par l’utilisateur (UDF) effectue une soustraction de jours sur une date.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM DATE, SECOND_PARAM INTEGER)

Paramètres

FIRST_PARAM DATE

Date initiale d’application de la soustraction.

SECOND_PARAM INTEGER

Le nombre de jours à soustraire du premier paramètre de date.

Renvoie

Renvoie la date après soustraction du nombre de jours indiqué.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.DATEDIFF_UDF(TO_DATE('2024-01-26'), 365);

Sortie :

2023-01-26

DATE_TO_RR_FORMAT_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) transforme le format date en format datetime RR oracle

PUBLIC.DATE_TO_RR_FORMAT_UDF(INPUT_DATE DATE)

Paramètres

INPUT_DATE DATE

La date à transformer.

Renvoie

La date d’entrée avec les années ajustées au format RR.

Exemple de migration

Entrée :

Select TO_DATE('17-NOV-30','DD-MON-RR') as A from DUAL;

Sortie :

Select
PUBLIC.DATE_TO_RR_FORMAT_UDF( TO_DATE('17-NOV-30', 'DD-MON-YY')) as A from DUAL;

Exemple d’utilisation

Entrée :

PUBLIC.CONVERT_DATE_WITH_RR_FORMAT_UDF(TO_DATE('17-NOV-30','DD-MON-YY')) as A from DUAL;

Sortie :

2030-11-17

FETCH_BULK_RECORD_COLLECTIONS_UDF (OBJECT, INTEGER)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour couvrir les fonctionnalités de récupération des enregistrements en vrac avec différents paramètres d’entrée qui déterminent les informations ajoutées ou le comportement du curseur.

FETCH_BULK_RECORD_COLLECTIONS_UDF(CURSOR OBJECT, LIMIT INTEGER)

Paramètres

CURSOR OBJECT

Le curseur en cours de traitement.

LIMIT INTEGER

La limite du nombre de lignes.

Renvoie

Renvoie un objet contenant les informations traitées.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));
INSERT INTO BULKCOLLECTTABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_RECORD_COLLECTIONS_UDF(:MY_CURSOR, 0)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": false,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": true,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "RESULT": {
    "TEST": []
  },
  "ROWCOUNT": 0
}

DBMS_OUTPUT.PUT_LINE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de la fonction Oracle DBMS_OUTPUT_PUT_LINE.

DBMS_OUTPUT.PUT_LINE_UDF(LOG VARCHAR)

Avertissement

Notez que les performances peuvent être affectées par l’utilisation de cette UDF. Pour commencer à connecter les informations, décommentez la fonctionnalité à l’intérieur de la fonction.

Paramètres

LOG VARCHAR

Les informations à afficher dans la ligne de commande.

Renvoie

Retourne un varchar avec les informations connectées.

Exemple d’utilisation

Entrée :

SELECT DBMS_OUTPUT.PUT_LINE_UDF(to_varchar(123));

Sortie :

123

DATEDIFF_UDF(DATE, DATE)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour effectuer une soustraction entre deux dates.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM DATE, SECOND_PARAM DATE)

Paramètres

FIRST_PARAM DATE

La date qui représente la fin de la soustraction.

SECOND_PARAM DATE

La date qui représente la soustraction dans la soustraction.

Renvoie

Renvoie un entier avec le nombre de jours entre les dates.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.DATEDIFF_UDF(TO_DATE('2024-01-26'), TO_DATE('2023-01-26'));

Sortie :

365

OPEN_BULK_CURSOR_UDF (OBJECT, ARRAY)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour ouvrir un curseur avec des liens.

OPEN_BULK_CURSOR_UDF(CURSOR OBJECT, BINDINGS ARRAY)

Paramètres

CURSOR OBJECT

Le curseur à traiter comme ouvert.

BINDINGS ARRAY

La liaison qui est liée au curseur.

Renvoie

Renvoie un objet contenant les informations actuelles du curseur.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR, NULL)
        );
        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "ROWCOUNT": 0
}

CLOSE_BULK_CURSOR_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) supprime la table temporaire qui stocke le jeu de résultats du curseur et rétablit les propriétés du curseur à leur état initial.

CLOSE_BULK_CURSOR_UDF(CURSOR OBJECT)

Paramètres

CURSOR OBJECT

Le curseur qui est vérifié et fermé.

Renvoie

Renvoie un objet dont les propriétés du curseur ont été réinitialisées.

Exemple de migration

Entrée :

-- [procedure initial logic]
CLOSE C1;
-- [procedure ending logic]

Sortie :

C1 := (
            CALL CLOSE_BULK_CURSOR_UDF(:C1)
        );

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL CLOSE_BULK_CURSOR_UDF(:MY_CURSOR)
        );

        RETURN MY_CURSOR;
    END;
$$;

Sortie :

{
  "FOUND": null,
  "ISOPEN": false,
  "NAME": "MY_CURSOR",
  "NOTFOUND": null,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "ROWCOUNT": -1
}

DATEADD_UDF (FLOAT, DATE)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée dans les cas où il y a une addition entre un type comme flottant ou horodatage et date.

PUBLIC.DATEADD_UDF(FIRST_PARAM FLOAT, SECOND_PARAM DATE)

Paramètres

FIRST_PARAM FLOAT

Le numéro de flottant qui va être ajouté au deuxième paramètre de date.

SECOND_PARAM DATE

La date à ajouter au numéro indiqué dans le premier paramètre.

Renvoie

Renvoie l’addition entre le nombre flottant et la date spécifiée.

Exemple d’utilisation

Entrée :

SELECT DATEADD_UDF(6, '2022-02-14');

Sortie :

2022-02-20

BFILENAME_UDF

Définition

La fonction prend le nom du répertoire et le paramètre du nom de fichier sous la forme d’une chaîne. Il renvoie ensuite une concaténation à l’aide de '\'.

Avertissement

Le caractère '\' doit être modifié pour correspondre au caractère de concaténation des fichiers du système d’opération.

PUBLIC.BFILENAME_UDF (DIRECTORYNAME STRING, FILENAME STRING);

Paramètres

DIRECTORYNAME STRING

Le nom du répertoire à traiter sous forme de chaîne.

FILENAME STRING

Le nom du fichier à concaténer.

Renvoie

Renvoie une chaîne qui contient le nom du répertoire et le nom du fichier concaténés par '\'.

Exemple de migration

Entrée :

SELECT BFILENAME ('directory', 'filename.jpg') FROM DUAL;

Sortie :

SELECT
PUBLIC.BFILENAME_UDF('directory', 'filename.jpg') FROM DUAL;

Exemple d’utilisation

Entrée :

SELECT PUBLIC.BFILENAME_UDF('directory', 'filename.jpg');

Sortie :

directory\filename.jpg

REGEXP_LIKE_UDF (STRING, STRING)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour prendre en charge la fonctionnalité Oracle REGEXP_LIKE.

REGEXP_LIKE_UDF(COL STRING, PATTERN STRING)

Paramètres

COL STRING

La chaîne à évaluer avec le modèle.

PATTERN STRING

Le modèle à vérifier.

Renvoie

Renvoie une expression booléenne. True si le modèle correspond à la chaîne ; sinon, false.

Exemple d’utilisation

Entrée :

SELECT REGEXP_LIKE_UDF('San Francisco', 'San* [fF].*');

Sortie :

TRUE

UTL_FILE.FOPEN_UDF (VARCHAR, VARCHAR, VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de la procédure Oracle UTL_FILE_FOPEN.

UTL_FILE.FOPEN_UDF(PACKAGE_VARIABLE VARCHAR, FILENAME VARCHAR, OPEN_MODE VARCHAR)

Paramètres

PACKAGE_VARIABLE VARCHAR

La variable relative à l’ouverture du fichier.

FILENAME VARCHAR

Le fichier à ouvrir.

OPEN_MODE VARCHAR

Indicates the mode on which the file will be available.

Renvoie

Retourne un varchar avec le résultat.

Exemple d’utilisation

Avertissement

The UTL_FILE.FOPEN_UDF allows to open a .csv file. To access the file it is required to create a stage for the file and use the Snowflake CLI to upload it.

Entrée :

CREATE OR REPLACE PROCEDURE PROC()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
    file_data  VARIANT;
   BEGIN

    CALL UTL_FILE.FOPEN_UDF(NULL, 'test2.csv','a');

    SELECT
      *
    INTO
      file_data
    FROM
      TABLE(RESULT_SCAN(LAST_QUERY_ID()));

    CALL UTL_FILE.PUT_LINE_UDF(:file_data,'New line');


    CALL UTL_FILE.FCLOSE_UDF(:file_data);


   END
$$;

CALL PROC();

Sortie :

null

FETCH_BULK_COLLECTION_RECORDS_UDF (OBJECT)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de FETCH dans Oracle. Il s’agit de la variante où il ne reçoit que le curseur.

FETCH_BULK_COLLECTION_RECORDS_UDF(CURSOR OBJECT)

Paramètres

CURSOR OBJECT

Le curseur qui est traité et rempli avec les données dans la récupération en vrac.

Renvoie

Renvoie un objet contenant les enregistrements de la récupération en vrac.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTION_RECORDS_UDF(:MY_CURSOR)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    {
      "TEST": "TEST_A"
    }
  ],
  "ROWCOUNT": 1
}

FETCH_BULK_RECORD_COLLECTIONS_UDF (OBJECT, FLOAT, ARRAY)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour couvrir les fonctionnalités de récupération des enregistrements en vrac avec différents paramètres d’entrée qui déterminent les informations ajoutées ou le comportement du curseur.

FETCH_BULK_RECORD_COLLECTIONS_UDF(CURSOR OBJECT, LIMIT FLOAT, COLUMN_NAMES ARRAY)

Paramètres

CURSOR OBJECT

Le curseur en cours de traitement.

LIMIT FLOAT

La limite du nombre de lignes.

COLUMN_NAMES ARRAY

Les noms des colonnes associées au curseur.

Renvoie

Renvoie un objet contenant les informations traitées.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));
INSERT INTO BULKCOLLECTTABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_RECORD_COLLECTIONS_UDF(:MY_CURSOR, 1.0, NULL)
        );

        RETURN MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "RESULT": {
    "TEST": [
      "TEST_A"
    ]
  },
  "ROWCOUNT": 1
}

FETCH_BULK_COLLECTION_RECORDS_UDF (OBJECT, INTEGER)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour répliquer la fonctionnalité de FETCH dans Oracle. C’est dans cette variante qu’il reçoit le curseur et la limite.

FETCH_BULK_COLLECTION_RECORDS_UDF(CURSOR OBJECT, LIMIT INTEGER)

Paramètres

CURSOR OBJECT

Le curseur qui est traité et rempli avec les données dans la récupération en vrac.

LIMIT FLOAT

La limite des enregistrements à appeler.

Renvoie

Renvoie un objet contenant les enregistrements de la récupération en vrac.

Exemple d’utilisation

Entrée :

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTION_RECORDS_UDF(:MY_CURSOR, 0)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();

Sortie :

{
  "FOUND": false,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": true,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [],
  "ROWCOUNT": 0
}