例: 1組のキャスト対を持つUDTに対する全キャスト - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

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/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

以下に、in_state()というUDTに対してソース キャストとターゲット キャストの両方を実行して返されるレポートの例を示します。

     HELP CAST address;

Source       Target           Cast Routine           As Assignment
----------------------------------------------------------------------
address      VARCHAR(80)      address_2_char             YES
VARCHAR(80)  address          char_2_address             YES
このレポートについては、以下の点に注意が必要です。
  • in_state()からVARCHAR(80)へのキャストと、VARCHAR(80)からin_state()へのキャストは、相互に補完関係にあります。
  • いずれのキャストもユーザー定義のルーチンです。どちらにもSystemという名前が付いていないからです。
  • このUDTには1組のキャストのみが定義されていますが、そのどちらにもSystemという名前が付いていないので、このUDTはおそらくSTRUCTURED型であると思われます。

    STRUCTURED型に対するキャストがシステム生成であることはありえず、一方システムは常にDISTINCT型に対してデフォルトのキャストを生成します。DISTINCT型UDTに対するシステム生成のキャストを削除したり、それをユーザー定義のキャストで置き換えることも可能なので、この例で報告されているキャストがSTRUCTURED型UDTに対するものであると断定することはできません。詳細については、CREATE CASTとREPLACE CASTを参照してください。