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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/zsn1556242031050.ditamap
dita:ditavalPath
ja-JP/zsn1556242031050.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キーワードを使用します。