この句を使用して、指定したUDTに関連付けられているメソッド シグネチャを、そのUDTの定義から削除します。これは、メソッドを削除できる唯一の手段です。DROP METHOD文はありません。
メソッドの型を指定しない場合、デフォルトの型はINSTANCEです。
UDT定義からオブザーバーまたはミュテーター メソッドを削除することはできません。
UDT定義からメソッド シグネチャを削除すると、システムは関連する外部ルーチンも破棄します。
削除するメソッドは、以下のいかなるデータベース定義からも参照されていてはなりません。
- キャスト。
CREATE CASTとREPLACE CASTを参照してください。
- 順序付け。
CREATE ORDERINGおよびREPLACE ORDERINGを参照してください。
- データ変換セット。
CREATE TRANSFORMおよびREPLACE TRANSFORMを参照してください。
以下のいずれかのデータベース オブジェクトから参照されている場合であっても、UDT定義からメソッドを削除することができます。
- キャスト
- マクロ
- Procedure
- トリガー
- ビュー
しかし、影響を受けるいずれかのデータベース オブジェクトを実行しようとすると、システムはリクエスト側にエラーを返します。
ANSI SQL規格ではDISTINCT型UDTからメソッドを削除することはできませんが、ANSI SQL:2011規格へのTeradata拡張機能ではDISTINCT型UDTからメソッドを削除することができます。
メソッドの外部ルーチンを置換するには、REPLACE METHOD文を使用します(REPLACE METHODおよび<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照)。