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
Description
A function can be called wherever a scalar value is expected, in select elements, in search conditions and all other kinds of expressions.
namespace_name.class_name refers to a public class in the assembly.
method_name refers to the name of a static public function in the assembly. The function must not be overloaded and the parameters must fit the parameters of the TurboSQL function (see "Exchanging Parameters with .NET Assemblies").
Samples
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
Compatibility Information
This statement is only available in TurboDB Managed.