TurboSQL Guide CREATE FUNCTION Statement |
Previous Top Next |
Syntax
CREATE FUNCTION function_name([:parameter_name data_type]...) RETURNS data_type AS RETURN expression
CREATE FUNCTION function_name([:parameter_name data_type]...) RETURNS data_type AS BEGIN statement [statement]... END
CREATE FUNCTION function_name([:parameter_name data_type]...) RETURNS data_type AS EXTERNAL NAME [namespace_name.class_name].method_name,assembly_name
Beschreibung
Eine Funktion kann überall da eingesetzt werden, wo ein Skalar erwartet wird, in Select Elementen, Suchbedingungen und anderen Ausdrücken.
namespace_name.class_name bezeichnet eine öffentliche (public) Klasse der Assembly.
method_name bezeichnet den Namen einer statischen public Funktion der Assembly. Die Funktion muss öffentlich (public) und nicht überladen (overloaded) sein . Die Parameter müssen mit denen der TurboSQL Funktion übereinstimmen (siehe "Parameter mit .NET Assemblies austauschen").
Beispiel
CREATE FUNCTION LastChar(:S WCHAR(1024)) RETURNS WCHAR(1) AS
RETURN SUBSTRING(:S FROM CHAR_LENGTH(:s) FOR 1)
CREATE FUNCTION Replicate(:S WCHAR(1024), :C INTEGER)RETURNS WCHAR(1024) AS BEGIN
DECLARE :I INTEGER
DECLARE :R WCHAR(1024)
SET :I = 0
SET :R = ''
WHILE :I < :C BEGIN
SET :R = :R + :S
SET :I = :I + 1
END
RETURN :R
END
CREATE FUNCTION CubicRoot(:X FLOAT) RETURNS FLOAT AS
EXTERNAL NAME [MathRoutines.TurboMath].CubicRoot,MathRoutines
Kompatibilität
Diese Anweisung ist nur in TurboDB Managed verfügbar.