TRY_TO_FILE

Eine Version von TO_FILE, die NULL zurückgibt, anstatt einen Fehler zu melden.

Syntax

Verwenden Sie eine der folgenden Optionen:

TRY_TO_FILE( <stage_name>, <relative_path> )

TRY_TO_FILE( <file_url> )

TRY_TO_FILE( <metadata> )

Argumente

Geben Sie die Datei an, indem Sie Folgendes angeben:

  • Sowohl stage_name als auch relative_path

  • file_url

  • metadata

Es kann jeweils nur eine dieser Methoden verwendet werden.

stage_name

Der Name des Stagingbereichs, in dem sich die Datei befindet, als Zeichenfolge im Format '@stage_name'.

relative_path

Der Pfad zu der Datei im durch stage_name als Zeichenfolge angegebenen Stagingbereich.

file_url

Ein gültiger Stagingbereich oder eine Bereichsdatei-URL als Zeichenfolge.

metadata

Ein OBJECT, das die erforderlichen FILE-Attribute enthält. Eine FILE muss Felder des Typs CONTENT_TYPE, SIZE, ETAG und LAST_MODIFIED haben. Außerdem muss der Speicherort der Datei auf eine der folgenden Arten angegeben werden:

  • Sowohl STAGE als auch RELATIVE_PATH

  • STAGE_FILE_URL

  • SCOPED_FILE_URL

Rückgabewerte

Eine FILE oder NULL.

Nutzungshinweise

Gibt NULL zurück, wenn:

  • Die angegebene URL nicht gültig ist.

  • Die Datei befindet sich in einem Stagingbereich, für den der Benutzende keine Zugriffsrechte hat.

  • Die angegebenen Metadaten enthalten nicht die erforderlichen FILE-Felder.

Beispiele

Im Gegensatz zu TO_FILE, das bei ungültigen Argumenten einen Fehler auslöst, gibt TRY_TO_FILE in dieser Situation NULL zurück. Ansonsten funktioniert es genau wie TO_FILE.

Das folgende Beispiel veranschaulicht das Verhalten von TRY_TO_FILE bei Angabe eines ungültigen Dateipfads, vorausgesetzt, dass die Datei image.png im Stagingbereich existiert, die beiden anderen Dateien jedoch nicht.

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

Ergebnis:

+-----------------------------------------------------+---------------------------------------------+------------------------------------------------+
| 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"                 |                                             |                                                |
| }                                                   |                                             |                                                |
+-----------------------------------------------------+---------------------------------------------+------------------------------------------------+

Weitere Beispiele für die Erstellung von FILE-Objekten aus gültigen Eingaben finden Sie unter TO_FILE-Beispiele.