Problembehandlung bei JavaScript-UDFs

Unter diesem Thema finden Sie Informationen zur Problembehandlung bei JavaScript-UDFs.

Unter diesem Thema:

Tipps

  • JavaScript unterscheidet Groß- und Kleinschreibung, aber SQL erzwingt die Großschreibung von Namen. Dies kann z. B. die Namen der Eingangsparameter der UDF betreffen. JavaScript-Code darf für das Verweisen auf die Namen der Eingangsparameter nur Großbuchstaben verwenden.

  • Wenn Sie eine JavaScript-UDF in einer Maskierungsrichtlinie verwenden, stellen Sie sicher, dass die Datentypen von UDF-Spalte und Maskierungsrichtlinie übereinstimmen.

Problembehandlung

Fehlermeldung: Variable is not defined

Ursache

Wenn beim Ausführen von Befehle in SnowSQL diese Fehlermeldung angezeigt wird, könnte die Ursache ein kaufmännisches Und (&) innerhalb eines CREATE FUNCTION-Befehls sein. (Das kaufmännische Und ist das Variablen-Ersatzzeichen in SnowSQL). Die Ausführung des folgenden Befehls in SnowSQL führt beispielsweise zu diesem Fehler:

create function mask_bits(...)
    ...
    as
    $$
    var masked = (x & y);
    ...
    $$;
Copy

Der Fehler tritt auf, wenn die Funktion erstellt wird, nicht wenn sie aufgerufen wird.

Lösung

Wenn Sie die Variablenersetzung in SnowSQL nicht verwenden möchten, können Sie diese mit folgendem Befehl explizit deaktivieren:

!set variable_substitution=false;
Copy

Weitere Informationen zur Variablenersetzung finden Sie unter Verwenden von Variablen.