16.20 - name (value) - 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-1144-162K-JPN
Language
日本語 (日本)

関数処理中にデフォルトとして使用するパラメータと値。デフォルト値は、SELECT文が、テーブル演算子のUSING句に値を指定せずにパラメータを指定した場合にのみ使用されます。例: デフォルト値の変数を含む関数マッピング定義を参照してください。

valueには以下を指定できます。
  • リテラル値リスト
  • スカラー サブクエリー式(SSQ)
  • システム変数
  • ユーザー変数
  • 連結された変数式
Literal Value List
文字、数値、データ、時間、間隔、期間、およびグラフィック リテラルを指定できます。指定できるリテラルの詳細については、<Teradata Vantage™データ タイプおよびリテラル>を参照してください。
Scalar Subquery Expression
スカラー サブクエリー式を指定できます。
スカラー サブクエリーには、システム変数を含めることができます。例えば、パラメータValueColumnには、システム変数USERを含むスカラー サブクエリーによって指定されたデフォルト値があります。
ValueColumn(SELECT colname FROM ssqtbl WHERE username=USER)
例: スカラー サブクエリー(SSQ)置換を使用した関数マッピングの定義および例: システム変数を含むスカラー サブクエリー(SSQ)置換を使用した関数マッピングを参照してください。
System Variables
指定できるシステム変数は、USER、CURRENT_USER、ROLE、CURRENT_ROLE、DATE、CURRENT_DATE、TIME、CURRENT_TIME、CURRENT_TIMESTAMP、PROFILE、DATABASE、SESSION、TD_HOST、ACCOUNT、またはZONEです。
例えばTimeOfEntryは、CURRENT_TIMEシステム変数で指定されているように、デフォルトで現在の時刻に設定されます。
TimeOfEntry(CURRENT_TIME)
Variable
変数はパラメータ名にすることができ、デフォルト値、デフォルト値リスト、スカラー サブクエリー、または他の変数を指定できます。
関数マッピング定義でパラメータに指定された変数は、パラメータが関数処理に送られる前に解決されます。変数の値は、関数または関数処理で指定されたデフォルト値から派生します。例: 複数の変数置換を使用した関数マッピングの定義を参照してください。
変数は、次のように入れ子にすることができます。
MaxStep(Maxnum) ,
Maxnum(Maxnumber),
Maxnumber(10),
ただし、入れ子になった変数を解決しても循環参照にはなりません。
次の例では、変数MaxStepのデフォルト値が150です。
MaxStep (150)
この例では、変数MaxStepは変数maxnumに対応しています。
MaxStep(maxnum)
デフォルト値リストを持つ変数に、連結変数式を含めることはできません。例えば、次のいずれかのような式を指定することはできません。
ValueColumn(AttributeValueColumn||'_'||Maxnum)
Maxnum(10,20)
ValueColumn( AttributeValueColumn, ValCol )
ValCol(ValColumn||'_'||MaxNum)
Concatenated variable expression
連結演算子( | | )で区切られた文字列定数または変数のリスト。例えば、以下のValueColumnパラメータには、連結変数式で指定されたデフォルト値があります。
ValueColumn(AttributeValueColumn||'_'||Maxnum)
例: 連結変数置換による関数マッピングを参照してください。
連結変数式にスカラー サブクエリーを含めることはできません。
IN TABLE句およびOUT TABLE句に連結変数式を指定することはできません。