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

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xnq1529717274657.ditamap
dita:ditavalPath
ja-JP/xnq1529717274657.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

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キーワードを使用します。