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.