STRUCTURED型UDTからの属性の削除 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

属性を削除するたびに、Teradata Databaseは、関連するオブザーバー メソッドとミュテーター メソッドを自動的に削除します。

次のようなルールが、属性の削除に適用されます。
  • 指定するUDTはSTRUCTURED型でなければなりません。
  • 指定するUDTは、他のいかなるデータベース オブジェクトから参照されてもなりません。

    他のデータベース オブジェクトから参照されている(例えば何らかのテーブルの列データ型として使用されている) UDTから属性を削除しようとすると、システムはリクエスト側にエラーを返します。

    具体的に説明すると、リクエストは以下のいずれの状況でもアボートします。
    • データベースの中に、列のうちの1つのデータ型が指定のUDTであるテーブルが含まれている場合。
    • 属性のうちの1つのデータ型が指定のUDTである、STRUCTURED型UDTがある場合。
    • 指定のUDTがユーザー定義キャストで参照されている場合。
    • データベースの中に、指定のUDTを参照するメソッドまたはUDFがある場合。
    • UDTに定義された順序付けまたはデータ変換グループがある場合。
  • 削除しようとする属性はUDTの唯一の属性であってはなりません。
UDT開発者は、STRUCTURED型UDTから属性を削除するに、以下のデータベース オブジェクトすべてに対して必要なクリーンアップすべてを実行する責任があります。
  • そのUDTと関連付けられたキャスト。
  • UDTの順序付け。
  • UDTのデータ変換。
  • このUDTをデータ型とする列を持ったテーブル。
  • このUDTを使用するSTRUCTURED型UDT。
  • このUDTをパラメータ データ型として使用するUDFおよびメソッド。
以下のデータベース オブジェクトが属性に関係するオブザーバーまたはミュテーター メソッドを参照している場合でも、その属性をSTRUCTURED型UDTから削除することができます。
  • キャスト
  • マクロ
  • プロシージャ
  • トリガー
  • ビュー

しかし、影響を受けるいずれかのデータベース オブジェクトを実行しようとすると、システムはリクエスト側にエラーを返します。