| 
       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.