SnowConvert : références de 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
Indique le mode sur lequel le fichier sera disponible.
Renvoie¶
Retourne un varchar avec le résultat.
Exemple d’utilisation¶
Avertissement
Le UTL_FILE.FOPEN_UDF
permet d’ouvrir un fichier .csv. Pour accéder au fichier, il est exigé de créer une zone de préparation
interne pour le fichier et d’utiliser la CLI Snowflake pour le télécharger.
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¶
faible
DOUBLE
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
Indique le mode sur lequel le fichier sera disponible.
Renvoie¶
Retourne un varchar avec le résultat.
Exemple d’utilisation¶
Avertissement
Le UTL_FILE.FOPEN_UDF
permet d’ouvrir un fichier .csv. Pour accéder au fichier, il est exigé de créer une zone de préparation
interne pour le fichier et d’utiliser la CLI Snowflake pour le télécharger.
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
}