17.10 - UDTからのメソッドの削除 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

この句を使用して、指定した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>を参照)。