17.10 - 例: 入力テーブルとパラメータの変数置換による関数処理 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)

関数マッピング定義usr_AllPairsShortestPathは、入力テーブルとパラメータの変数を指定します。

CREATE FUNCTION MAPPING usr_AllPairsShortestPath
FOR AllPairsShortestPath SERVER TD_SERVER_DB.coprocessor
USING
vertices(vertex) IN TABLE ,
edges(edge) IN TABLE ,
sources(source) IN TABLE ,
targets(trgt) IN TABLE ,
TargetKey(GroupColumn) ,
EdgeWeight('calls') ,
MaxDistance(Distance) ,
Directed ,GroupSize ,SequenceInputBy;

SELECT文は、変数のDistanceおよびGroupColumnの値を指定します。

SELECT * FROM usr_AllPairsShortestPath (
ON callers AS vertices PARTITION BY callerid
ON calls AS edges PARTITION BY callerfrom
USING
GroupColumn ('callerto')
Distance ('-1')
) as dt ORDER BY source, target;

実行時、このクエリーは次のように書き換えられます。マッピング定義に従って、TargetKeyGroupColumnqueryに置き換えられ、MaxDistanceDistanceに置き換えられます。また、EdgeWeightも含まれます(マッピング定義でこのパラメータのデフォルト値が指定されるため)。

SELECT * FROM AllPairsShortestPath (
ON callers AS vertices PARTITION BY callerid
ON calls AS edges PARTITION BY callerfrom
TargetKey ('callerto')
EdgeWeight ('calls')
MaxDistance ('-1')
) ORDER BY source, target;