FUNCTION は、基礎となるデータソースのネイティブ機能または構文を活用して、データのクエリ、変換、フォーマットなどのタスクを実行する関数、またはデータ統合ツールの機能を拡張するためにユーザーが作成したカスタム関数です。
CData Virtuality は、ユーザー定義関数(UDF)を通じて、データソースの基礎となるDBEM で定義されたカスタム関数またはシステム関数にアクセスするメカニズムを提供します。以下の例に示すように、これらの UDF はソース関数にシームレスにマッピングすることができます。
UDFに関する情報は、SYS.Functions、SYS.FunctionParams、SYSADMIN.FunctionDefinitions、SYSLOG.FunctionDefinitionHistoryのTablesにあります。
Example
Microsoft SQL Server test_tablesデータベースの以下の関数を考えてみましょう:
CREATE FUNCTION [dbo].[Fun_Addition](@Num1 Decimal(7,2), @Num2 Decimal(7,2))RETURNS Decimal(7,2)BEGIN DECLARE @Result Decimal(7,2) SET @Result = @Num1 + @Num2 RETURN @ResultENDCData Virtuality Server でこの関数を使用するには、FOREIGN FUNCTIONを作成し、Microsoft SQL Server UDF にマッピングします:
CREATE FOREIGN FUNCTION<The CData Virtuality datasource name>.<function_name>(num1 integer, num2 integer)RETURNS integerOPTIONS (NAME_IN_SOURCE '"<Microsoft SQL Server database name(test_tables)>"."<schema name(dbo)>"."<UDF name>(Fun_Addition)"');ユーザー定義関数のUsageと制限は、built-in functionsと同じです。