DECLARE EXTERNAL FUNCTION
Deklarieren einer benutzerdefinierten Funktion (UDF) zur Datenbank
DSQL, ESQL
DECLARE EXTERNAL FUNCTION funcname [{ <arg_desc_list> | ( <arg_desc_list> ) }] RETURNS { <return_value> | ( <return_value> ) } ENTRY_POINT 'entry_point' MODULE_NAME 'library_name' <arg_desc_list> ::= <arg_type_decl> [, <arg_type_decl> ...] <arg_type_decl> ::= <udf_data_type> [BY {DESCRIPTOR | SCALAR_ARRAY} | NULL] <udf_data_type> ::= <scalar_datatype> | BLOB | CSTRING(length) [ CHARACTER SET charset ] <scalar_datatype> ::= !! Vgl. Syntax für Skalardatentypen !! <return_value> ::= { <udf_data_type> | PARAMETER param_num } [{ BY VALUE | BY DESCRIPTOR [FREE_IT] | FREE_IT }]
Parameter | Beschreibung |
---|---|
funcname |
Funktionsname in der Datenbank.Er kann aus bis zu 63 Zeichen bestehen.Er sollte unter allen internen und externen Funktionsnamen in der Datenbank eindeutig sein und muss nicht mit dem Namen identisch sein, der über |
entry_point |
Der exportierte Name der Funktion |
library_name |
Der Name des Moduls ( |
length |
Die maximale Länge einer nullterminierten Zeichenfolge, angegeben in Byte |
charset |
Zeichensatz des CSTRING |
param_num |
Die Nummer des Eingabeparameters, nummeriert von 1 in der Liste der Eingabeparameter in der Deklaration, die den Datentyp beschreibt, der von der Funktion zurückgegeben wird |
Die Anweisung DECLARE EXTERNAL FUNCTION
stellt eine benutzerdefinierte Funktion in der Datenbank zur Verfügung.UDF-Deklarationen müssen in jeder Datenbank vorgenommen werden, die sie verwenden wird.Es müssen keine UDFs deklariert werden, die niemals verwendet werden.
Der Name der externen Funktion muss unter allen Funktionsnamen eindeutig sein.Er kann sich vom exportierten Namen der Funktion unterscheiden, wie im Argument ENTRY_POINT
angegeben.