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

この句を使用して、指定したUDTに関連付けられているメソッド シグネチャを、そのUDTの定義から削除します。これは、メソッドを削除できる唯一の手段です。DROP METHOD文はありません。

メソッドの型を指定しない場合、デフォルトの型はINSTANCEです。

UDT定義からオブザーバーまたはミュテーター メソッドを削除することはできません。

UDT定義からメソッド シグネチャを削除すると、システムは関連する外部ルーチンも破棄します。

削除するメソッドは、以下のいかなるデータベース定義からも参照されていてはなりません。
以下のいずれかのデータベース オブジェクトから参照されている場合であっても、UDT定義からメソッドを削除することができます。
  • キャスト
  • マクロ
  • Procedure
  • トリガー
  • ビュー

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

ANSI SQL規格ではDISTINCT型UDTからメソッドを削除することはできませんが、ANSI SQL:2011規格へのTeradata拡張機能ではDISTINCT型UDTからメソッドを削除することができます。

メソッドの外部ルーチンを置換するには、REPLACE METHOD文を使用します(REPLACE METHODおよび<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照)。