dict_mapping
指定されたキーにマップされた値を辞書テーブルから返します。
この関数は主にグローバル辞書テーブルの適用を簡素化するために使用されます。ターゲットテーブルへのデータロード中に、StarRocks はこの関数の入力パラメータを使用して辞書テーブルから指定されたキーにマップされた値を自動的に取得し、その値をターゲットテーブルにロードします。
v3.2.5以降、StarRocks はこの関数をサポートしています。また、現在 StarRocks の共有データモードではこの関数をサポートしていないことに注意してください。
Syntax
dict_mapping("[<db_name>.]<dict_table>", key_column_expr_list [, <value_column> ] [, <null_if_not_exist>] )
key_column_expr_list ::= key_column_expr [, key_column_expr ... ]
key_column_expr ::= <column_name> | <expr>
Parameters
-
必須パラメータ:
-
[<db_name>.]<dict_table>: 辞書テーブルの名前で、主キーテーブルである必要があります。サポートされるデータ型は VARCHAR です。 -
key_column_expr_list: 辞書テーブルのキー列のための式リストで、1つまたは複数のkey_column_exprsを含みます。key_column_exprは辞書テーブルのキー列の名前、または特定のキーやキー式であることができます。この式リストには辞書テーブルのすべての主キー列を含める必要があります。つまり、式の総数は辞書テーブルの主キー列の総数と一致する必要があります。したがって、辞書テーブルが複合主キーを使用する場合、このリストの式はテーブルスキーマで定義された主キー列に順番に対応する必要があります。このリストの複数の式はカンマ(
,)で区切られます。また、key_column_exprが特定のキーまたはキー式である場合、その型は辞書テーブルの対応する主キー列の型と一致する必要があります。
-
-
オプションパラメータ:
<value_column>: 値列の名前で、マッピング列でもあります。値列が指定されていない場合、デフォルトの値列は辞書テーブルの AUTO_INCREMENT 列です。値列は、辞書テーブル内の自動インクリメント列および主キーを除く任意の列として定義することもできます。列のデータ型には制限がありません。<null_if_not_exist>(オプション): 辞書テーブルにキーが存在しない場合に返すかどうか。 有効な値:true: キーが存在しない場合、Null が返されます。false(デフォルト): キーが存在しない場合、例外がスローされます。
Return Value
返される値のデータ型は、値列のデータ型と一致します。値列が辞書テーブルの自動インクリメント列である場合、返される値のデータ型は BIGINT です。
ただし、指定されたキーにマップされた値が見つからない場合、<null_if_not_exist> パラメータが true に設定されている場合は NULL が返されます。パラメータが false