UDTに対する操作を実装するUDFの置換に関する制約事項 - 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に対する操作を実装するUDFの置換には、次の制限が適用されます。
  • キャスト、順序付け、またはデータ変換ルーチンとして使用されるUDFを、SYSUDTLIBデータベースに作成する必要があります。
  • UDTの順序付け機能またはデータ変換機能の任意のの実装に使用されるUDFは、次の条件がすべて満たされる場合にのみ置換できます。
    • REPLACE FUNCTIONの指定は、ディクショナリ内の既存のメソッドの指定と完全に一致していなければならない。

      つまり、関数名、パラメータ リスト、EXTERNAL句の中のエントリ ポイント名などがすべて一致しなければなりません。

    • 置換されるUDFの実行モードはEXECUTE PROTECTEDでなければならない。

      この関数が現在EXECUTE NOT PROTECTEDモードに設定されている場合、REPLACE FUNCTION文を実行する前にALTER FUNCTION文を実行してモードをEXECUTE PROTECTEDに変更しなければなりません。

      REPLACE FUNCTION文を実行するときには、これらすべての条件が満たされていないと、システムはリクエスト側にエラーを返します。

  • UDTのキャスティング機能を実装するUDFの置換は、次のSQL文を指定された順序で実行することによってのみ行なえます。
    1. DROP CAST
    2. REPLACE FUNCTION
    3. CREATE CAST

    このタスクを実行するために、REPLACE FUNCTIONを単独で使用することはできません。REPLACE FUNCTIONを使ってキャスティング関数を直接置換しようとすると、アボートしてリクエスト側にエラーが返されます。Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144の「DROP CAST」を参照してください。CREATE CASTとREPLACE CASTを参照してください。