カテゴリ:

ユーザー定義関数、外部関数、およびストアドプロシージャ用の DDL

ALTER EXTERNAL FUNCTION

既存の外部関数のプロパティを変更します。

こちらもご参照ください。

CREATE EXTERNAL FUNCTIONDESCRIBE FUNCTIONDROP FUNCTIONSHOW EXTERNAL FUNCTIONS

構文

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET COMMENT = '<string_literal>'

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET API_INTEGRATION = <api_integration_name>

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] )
  SET HEADERS = ( [ '<header_1>' = '<value>' [ , '<header_2>' = '<value>' ... ] ] )

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] )
  SET CONTEXT_HEADERS = ( [ <context_function_1> [ , context_function_2> ...] ] )

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET MAX_BATCH_ROWS = <integer>

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET COMPRESSION = <compression_type>

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) RENAME TO <new_name>

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET SECURE

ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) UNSET { COMMENT | HEADERS | CONTEXT_HEADERS | MAX_BATCH_ROWS | COMPRESSION | SECURE }

パラメーター

名前

関数の識別子を指定します。

識別子には、スキーマ名、データベース名、および関数名を含めることができます。

( [ 引数データ型 ] [ , ... ] )

外部関数の引数/入力データ型を指定します。

関数が引数を受け入れる場合、 ALTER コマンドは引数の型を指定する必要があります。関数は、名前のオーバーロードをサポート(つまり、同じスキーマ内の2つの関数に同じ名前を付与)し、引数の型を使用して関数を識別するためです。

API統合名

これは、プロキシサービスへの呼び出しを認証するために使用する必要がある API 統合オブジェクトの名前です。

このパラメーターの詳細は、 CREATE EXTERNAL FUNCTION にあります。

[ HEADERS = ( '<header_1>' = '<value>' [ , '<header_2>' = '<value>' ... ] ) ]

この句を使用すると、すべてのリクエストで送信されるキー値のメタデータを添付できます。

値は、式ではなく定数文字列でなければなりません。

このパラメーターの詳細は、 CREATE EXTERNAL FUNCTION にあります。

CONTEXT_HEADERS (...)

これは headers に似ていますが、定数文字列のみを許可する代わりに、Snowflakeコンテキスト関数の結果を HTTP ヘッダーにバインドできるようにします。

各値は、コンテキスト関数の名前でなければなりません。名前は引用符で囲まないでください。

このパラメーターの詳細は、 CREATE EXTERNAL FUNCTION にあります。

COMPRESSION = <compression_type>

この句が指定されている場合は、Snowflakeからプロキシサービスに送信されるとき、およびプロキシサービスからSnowflakeに返信されるときに、指定された形式を使用して JSON ペイロードを圧縮します。

<圧縮タイプ> の有効な値の詳細については、 CREATE EXTERNAL FUNCTION をご参照ください。

新しい名前

関数の名前を変更する際に、関数の新しい識別子を指定します。

関数は名前と引数のタイプによって識別および解決されるため、識別子は、関数が作成されるスキーマに対して一意である必要はありません。ただし、署名(名前とパラメーターのデータ型)はスキーマ内で一意である必要があります。

名前 は、Snowflake 識別子 のルールに従う必要があります。詳細については、 識別子の要件 をご参照ください。

注釈

外部関数に 新しい 名前を指定するときは、引数のデータ型または括弧を指定しないでください。関数は以前と同じ引数を使用し続けます。

使用上の注意

  • オブジェクトの名前を変更すると、そのオブジェクトを参照する他のオブジェクトも新しい名前で更新する必要があります。

  • API_INTEGRATION の UNSET コマンドはありません。API_INTEGRATION は変更できますが、設定を解除することはできません。

関数の名前を function1 から function2 に変更します。

ALTER EXTERNAL FUNCTION IF EXISTS function1(number) RENAME TO function2;

通常の関数 function2 をセキュア関数に変換します。

ALTER EXTERNAL FUNCTION function2(number) SET SECURE;

外部関数の名前を変更します。

ALTER EXTERNAL FUNCTION function3(number) RENAME TO function3b;