📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

ALTER FUNCTION



ユーザー定義関数を変更します。サポートされる関数タイプは、Scalar SQL、Tabular SQL、Embedded 関数です。

構文

Scalar SQL 関数の場合

ALTER FUNCTION [ IF EXISTS ] <function_name> ( [<parameter_list>] ) RETURNS <return_type> AS $$ <expression> $$ [ DESC='<description>' ]

Tabular SQL 関数の場合

ALTER FUNCTION [ IF EXISTS ] <function_name> ( [<parameter_list>] ) RETURNS TABLE ( <column_definition_list> ) AS $$ <sql_statement> $$ [ DESC='<description>' ]

Embedded 関数の場合

ALTER FUNCTION [ IF EXISTS ] <function_name> ( [<parameter_list>] ) RETURNS <return_type> LANGUAGE <language> [IMPORTS = ('<import_path>', ...)] [PACKAGES = ('<package_path>', ...)] HANDLER = '<handler_name>' AS $$ <function_code> $$ [ DESC='<description>' ]

例

Scalar SQL 関数の変更

-- Create a scalar function CREATE FUNCTION calculate_tax(income DECIMAL) RETURNS DECIMAL AS $$ income * 0.2 $$; -- Modify the function to use progressive tax rate ALTER FUNCTION calculate_tax(income DECIMAL) RETURNS DECIMAL AS $$ CASE WHEN income <= 50000 THEN income * 0.15 ELSE income * 0.25 END $$;

Tabular SQL 関数の変更

-- Create a table function CREATE FUNCTION get_employees() RETURNS TABLE (id INT, name VARCHAR(100)) AS $$ SELECT id, name FROM employees $$; -- Modify to include department and salary ALTER FUNCTION get_employees() RETURNS TABLE (id INT, name VARCHAR(100), department VARCHAR(100), salary DECIMAL) AS $$ SELECT id, name, department, salary FROM employees $$;

Embedded 関数の変更

-- Create a Python function CREATE FUNCTION simple_calc(x INT) RETURNS INT LANGUAGE python HANDLER = 'calc' AS $$ def calc(x): return x * 2 $$; -- Modify to use a different calculation ALTER FUNCTION simple_calc(x INT) RETURNS INT LANGUAGE python HANDLER = 'calc' AS $$ def calc(x): return x * 3 + 1 $$;

このページは役に立ちましたか?