FUNCTION は、基礎となるデータソースのネイティブ機能または構文を活用して、データのクエリ、変換、フォーマットなどのタスクを実行する関数、またはデータ統合ツールの機能を拡張するためにユーザーが作成したカスタム関数です。

CData Virtuality は、ユーザー定義関数(UDF)を通じて、データソースの基礎となるDBEM で定義されたカスタム関数またはシステム関数にアクセスするメカニズムを提供します。以下の例に示すように、これらの UDF はソース関数にシームレスにマッピングすることができます。

UDFに関する情報は、SYS.FunctionsSYS.FunctionParamsSYSADMIN.FunctionDefinitionsSYSLOG.FunctionDefinitionHistoryのTablesにあります。

Information about UDFs is located in SYS.Functions, SYS.FunctionParams, SYSADMIN.FunctionDefinitions and SYSLOG.FunctionDefinitionHistory tables since v4.8

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 @Result
END

CData Virtuality Server でこの関数を使用するには、FOREIGN FUNCTIONを作成し、Microsoft SQL Server UDF にマッピングします:

CREATE FOREIGN FUNCTION
<The CData Virtuality datasource name>.<function_name>(num1 integer, num2 integer)
RETURNS integer
OPTIONS (NAME_IN_SOURCE '"<Microsoft SQL Server database name(test_tables)>"."<schema name(dbo)>"."<UDF name>(Fun_Addition)"');

ユーザー定義関数のUsageと制限は、built-in functionsと同じです。

Data source-specific user-defined functions support available since v4.6