TurboSQL Guide

CREATE FUNCTION Statement

Top  Previous  Next

Dieses Feature ist nur in TurboDB Managed verfügbar.

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