FUNCTION は、基礎となるデータソースのネイティブ機能または構文を活用して、データのクエリ、変換、フォーマットなどのタスクを実行する関数、またはデータ統合ツールの機能を拡張するためにユーザーが作成したカスタム関数です。
CData Virtuality は、ユーザー定義関数(UDF)を通じて、データソースの基礎となるDBEM で定義されたカスタム関数またはシステム関数にアクセスするメカニズムを提供します。以下の例に示すように、これらの UDF はソース関数にシームレスにマッピングすることができます。
UDFに関する情報は、SYS.Functions、SYS.FunctionParams、SYSADMIN.FunctionDefinitions、SYSLOG.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