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.