メソッドを置換すると、Teradata Databaseはデフォルトでその実行モードをPROTECTEDにリセットします。したがって、ALTER METHODリクエストを使用して、その実行モードをNOT PROTECTEDにリセットする必要があります(ALTER METHODを参照)。
REPLACE METHODはメソッドのコードを置換します。この文はメソッドのソフトウェア エラーを直すためにあります。
メソッドの作成や置換には、作成または置換されるメソッドのための2つのDDL文の内部に以下の宣言があることが必要です。
- メソッドが関連付けられるUDTを定義するCREATE TYPEリクエストの内部にメソッド シグネチャ宣言が必要です。
- 作成されるメソッドの本体定義を完了するために、CREATE METHODリクエストが必要です。
作成または置換されたメソッドの実行モードに関しては、Teradata Databaseがコードを置換した後、メソッドの実行モードがPROTECTEDに戻ります。
REPLACE METHODの構文は、Teradata DatabaseのREPLACE文の通常の形式に従っていません。指定されたオブジェクトや定義が存在しない場合、標準のTeradata DatabaseのREPLACE文は対応するCREATE文とまったく同じように機能します。CREATE METHOD文が独立した操作ではないので、REPLACE METHODはこの標準から外れています。
メソッドの作成には、まずCREATE TYPEまたはALTER TYPEリクエスト内にメソッド シグネチャを指定した後で、CREATE METHODまたはREPLACE METHODリクエストで宣言することが必要です。
独立した操作という点ではREPLACE METHODはREPLACE文の通常の動作と異なりますが、メソッドのソース コードが置換、再コンパイル、および再配布されてメソッドの動作が置換されるという点では他のTeradata Databaseの置換操作と同じことを行ないます。