TRY_TO_FILE

Une version de TO_FILE qui renvoie NULL au lieu de provoquer une erreur.

Syntaxe

Utilisez l’une des méthodes suivantes :

TRY_TO_FILE( <stage_name>, <relative_path> )

TRY_TO_FILE( <file_url> )

TRY_TO_FILE( <metadata> )

Arguments

Spécifiez le fichier en fournissant :

  • stage_name et relative_path

  • file_url

  • metadata

Une seule de ces méthodes peut être utilisée à la fois.

stage_name

Le nom de la zone de préparation où se trouve le fichier, sous forme de chaîne, au format ‘@stage_name'.

relative_path

Le chemin d’accès au fichier de la zone de préparation spécifiée par stage_name sous forme de chaîne.

file_url

Une zone de préparation ou une URL de fichier limitée valide sous la forme d’une chaîne.

metadata

Un OBJECT contenant les attributs FILE requis. Un FILE doit comporter les champs CONTENT_TYPE, SIZE, ETAG, et LAST_MODIFIED. Il doit également spécifier l’emplacement du fichier de l’une des manières suivantes :

  • Les deux valeurs STAGE et RELATIVE_PATH

  • STAGE_FILE_URL

  • SCOPED_FILE_URL

Renvoie

Un FILE ou NULL.

Notes sur l’utilisation

Renvoie NULL lorsque :

  • L’URL fournie n’est pas valide.

  • Le fichier se trouve sur une zone de préparation à laquelle l’utilisateur ne peut pas accéder.

  • Les métadonnées fournies ne contiennent pas les champs FILE requis.

Exemples

Contrairement à TO_FILE, qui signale une erreur sur des arguments non valides, TRY_TO_FILE renvoie NULL dans ce cas. Sinon, cela fonctionne exactement comme TO_FILE.

L’exemple ci-dessous illustre le comportement de TRY_TO_FILE lorsque le chemin du fichier n’est pas valide, en supposant que le fichier image.png existe sur la zone de préparation, mais pas les deux autres fichiers.

SELECT
    TRY_TO_FILE('@mystage/image.png'),
    TRY_TO_FILE('@mystage/incorrect_file1.jpg'),
    TRY_TO_FILE('@mystage', 'incorrect_file2.png');
Copy

Résultat :

+-----------------------------------------------------+---------------------------------------------+------------------------------------------------+
| TRY_TO_FILE('@MYSTAGE/IMAGE.PNG')                   | TRY_TO_FILE('@MYSTAGE/INCORRECT_FILE1.JPG') | TRY_TO_FILE('@MYSTAGE', 'INCORRECT_FILE2.PNG') |
|-----------------------------------------------------|---------------------------------------------|------------------------------------------------|
| {                                                   | NULL                                        | NULL                                           |
|   "CONTENT_TYPE": "image/png",                      |                                             |                                                |
|   "ETAG": "2859efde6e26491810f619668280a2ce",       |                                             |                                                |
|   "LAST_MODIFIED": "Thu, 18 Sep 2025 09:02:00 GMT", |                                             |                                                |
|   "RELATIVE_PATH": "image.png",                     |                                             |                                                |
|   "SIZE": 23698,                                    |                                             |                                                |
|   "STAGE": "@MYDB.MYSCHEMA.MYSTAGE"                 |                                             |                                                |
| }                                                   |                                             |                                                |
+-----------------------------------------------------+---------------------------------------------+------------------------------------------------+

Pour plus d’exemples de création d’objets FILE à partir d’entrées valides, consultez les exemples TO_FILE.