例: RETURNS STYLE指定を使用したUDFまたはメソッドの呼び出し - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage
この例で使用するテーブル定義は、以下のとおりです。
     CREATE TABLE t1 (
       int_col      INTEGER,
       var_char_col VARCHAR(40) CHARACTER SET UNICODE);
     CREATE TABLE t2 (
       int_col     INTEGER,
       decimal_col DECIMAL (10, 6));
これらの関数定義は、この例ではTD_ANYTYPEパラメータを識別するために使用されます。
     CREATE FUNCTION udf_1(
       A    INTEGER,
       B    TD_ANYTYPE)
       RETURNS TD_ANYTYPE;
     CREATE FUNCTION udf_3(
       A    INTEGER,
       B    TD_ANYTYPE)
       RETURNS TD_ANYTYPE;

以下の例は、t1.var_char_colおよびt2.decimal_colをパラメータとして、およびDECIMAL(10,6)を明示的に指定された返されるデータ型として使用するudf_2を呼び出します。なぜなら、列t2.decimal_colのデータ型はDECIMAL(10,6)であるためです。

     SELECT (udf_2 (t1.var_char_col, t2.decimal_col)
     RETURNS STYLE t2.decimal_col);

以下の例は、t1.var_char_colおよびt2.decimal_colをパラメータとして、およびVARCHAR(40) CHARACTER SET UNICODEを明示的に指定された返されるデータ型として使用するudf_3を呼び出します。なぜなら、列t1.var_char_colのデータ型はVARCHAR(40) CHARACTER SET UNICODEであるためです。

     SELECT (udf_3 (t1.var_char_col, t2.decimal_col)
     RETURNS STYLE t1.var_char_col);

最後の例は、t2.decimal_colをパラメータとして、およびDECIMAL(10,6)を明示的に指定された返されるデータ型として使用するmethod_2を呼び出します。なぜなら、列t2.decimal_colのデータ型はDECIMAL(10,6)であるためです。

     SELECT udt_col.(method_2(t2.decimal_col)
     RETURNS STYLE t2.decimal_col);