UDTに対する操作を実装するUDFの置換には、次の制限が適用されます。
- キャスト、順序付け、またはデータ変換ルーチンとして使用されるUDFを、SYSUDTLIBデータベースに作成する必要があります。
- UDTの順序付け機能またはデータ変換機能の任意のの実装に使用されるUDFは、次の条件がすべて満たされる場合にのみ置換できます。
- REPLACE FUNCTIONの指定は、ディクショナリ内の既存のメソッドの指定と完全に一致していなければならない。
つまり、関数名、パラメータ リスト、EXTERNAL句の中のエントリ ポイント名などがすべて一致しなければなりません。
- 置換されるUDFの実行モードはEXECUTE PROTECTEDでなければならない。
この関数が現在EXECUTE NOT PROTECTEDモードに設定されている場合、REPLACE FUNCTION文を実行する前にALTER FUNCTION文を実行してモードをEXECUTE PROTECTEDに変更しなければなりません。
REPLACE FUNCTION文を実行するときには、これらすべての条件が満たされていないと、システムはリクエスト側にエラーを返します。
- REPLACE FUNCTIONの指定は、ディクショナリ内の既存のメソッドの指定と完全に一致していなければならない。
- UDTのキャスティング機能を実装するUDFの置換は、次のSQL文を指定された順序で実行することによってのみ行なえます。
- DROP CAST
- REPLACE FUNCTION
- CREATE CAST
このタスクを実行するために、REPLACE FUNCTIONを単独で使用することはできません。REPLACE FUNCTIONを使ってキャスティング関数を直接置換しようとすると、アボートしてリクエスト側にエラーが返されます。Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144の「DROP CAST」を参照してください。CREATE CASTとREPLACE CASTを参照してください。