16.20 - NEWキーワードを使用しないARRAYコンストラクタ式の呼び出し - Teradata Vantage NewSQL Engine

Teradata Vantage™ データ タイプおよびリテラル

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN

NEWキーワードを使用しなくても、ARRAYコンストラクタ式を呼び出すことができます。これはOracle構文と互換性があります。NEWキーワードを使用せずに呼び出すと、この式をTeradata DatabaseはUDF式のように扱います。これは、ARRAYコンストラクタ式を使用できる場所を、スカラーUDFと同じ用法に制限します。これは、同じシナリオで、NEWキーワードを使用しないARRAYコンストラクタ式が使用できないSQL文内でも、NEWキーワードを使用するARRAYコンストラクタ式は使用できることを意味します。例えば、CREATE TABLE文のDEFAULT句で、NEWキーワードを使用するARRAYコンストラクタ式を使用できます。ただし、DEFAULT句でNEWキーワードを使用しないARRAYコンストラクタ式は使用できません。

さらに、NEWキーワードを使用しないARRAYコンストラクタ式はスカラーUDFのように扱われるので、この場合、UDFの既存の検索順序ルールが適用されます。Teradata Databaseは次のデータベース内のUDFを次の順序で検索します。

  1. デフォルト データベース
  2. SYSLIBデータベース
  3. TD_SYSFNLIBデータベース
  4. SYSUDTLIBデータベース

UDFがデフォルト データベース、SYSLIB、または、TD_SYSFNLIB内にあり、かつ、定義されたARRAYデータ型と同じ名前を持つ場合、また、NEWキーワードを指定しないARRAYコンストラクタ式を呼び出す場合は、Teradata DatabaseはARRAYコンストラクタに代わってUDFを呼び出します。この対立を回避するには、ARRAYコンストラクタを呼び出すときにNEWキーワードを使用します。