16.20 - EXECUTE MAP句 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)

連続マップまたはスパース マップ、また、必要に応じて、テーブル演算子の実行にコロケーション名を指定します。 テーブル演算子は、マップ内のAMPでのみ実行されます。 入力行がマップごとにまだ分散されていない場合、データベースは指定したマップまたはデフォルトのマップでテーブル演算子を実行する前に、入力行を指定したマップまたはデフォルトのマップのAMPに分散します。

指定されたマップが許可されている必要があります。

EXECUTE MAP句が指定されていない場合、実行マップはテーブル演算子で定義されたとおりになります。<Teradata Vantage™ SQLデータ定義言語 - 構文規則および例、B035-1144>のユーザー定義関数文のCREATE FUNCTIONおよびREPLACE FUNCTION (テーブル形式)にあるEXECUTE MAPオプションを参照してください。

map_name
連続マップまたはスパース マップの名前。
TD_DataDictonaryMapまたはTD_GlobalMapを指定することはできません。
COLOCATE USING colocation_name
他の関数、テーブル、結合インデックス、またはハッシュ インデックスと同じAMP上の関数を共同設置するために指定します。
このオプションは、スパース マップに対してのみ指定できます。連続したマップの場合、コロケーションのためのコロケーション名は不要であり、colocation_nameはNULLに設定されます。
コロケーション名を指定しない場合、名前はdatabase_operatorのデフォルト名となり、ここでdatabaseはデータベースまたはユーザーの名前で下線(_)が続き、operatorはテーブル演算子の名前です。databaseが63文字を超える場合、databaseは63文字に切り捨てられます。operatorが64文字を超える場合、operatorは64文字に切り捨てられます。

例: テーブル演算子のスパース マップの指定

この例ではスパース マップを指定するため、colocation_nameはdb1_tableop1にデフォルトで設定され、テーブル演算子が作成されると、指定したコロケーション名を上書きします。

SELECT * FROM db1.tableop1
    ( ON ( SELECT * FROM tab1) PARTITION BY col1
      ON ( SELECT * FROM tab2) PARTITION BY col2
      EXECUTE MAP = OneAMPMap
      USING myvalue(10,20)
    ) AS d1;