PostgreSQL関数は、データベース操作のセットを関数に格納できるストアドプロシージャであり、毎回手動で命令を入力しなくても繰り返し呼び出すことができます。これは、アプリケーションでのデータベースの再利用と自動化に最適なユーティリティです。また、これを使用して、ユーザー定義関数およびストアドプロシージャを作成することもできます。 PostgreSQLのcreatefunctionコマンドの使用方法は次のとおりです。
PostgreSQL作成関数
PostgreSQLCREATEFUNCTIONの構文は次のとおりです。
CREATE [OR REPLACE] FUNCTION function_name (arguments)
RETURNS return_datatype AS $variable_name$
DECLARE declaration; [...]
BEGIN < function_body > [...]
RETURN { variable_name | value }
END;
LANGUAGE plpgsql; 上記のクエリでは、指定する必要があります
function_name –関数の名前
[OR REPLACE] –既存の機能を変更するためのオプションのキーワード
function_body –関数の一部として実行される一連の操作
戻る 戻り変数/値の有無にかかわらずステートメント
宣言 関数値を格納する変数
言語 – PostgreSQLを使用すると、PostgreSQL、SQL、C、Python、その他の手続き型言語などのさまざまな言語で関数を定義できます。
ボーナスリード:PostgreSQL Create Schema
CREATEFUNCTIONの例
PostgreSQLでストアドプロシージャを作成する方法の例を次に示します。次の表があるとします売上
postgres=# select * from sales; order_date | sale ------------+------ 2020-04-01 | 210 2020-04-02 | 125 2020-04-03 | 150 2020-04-04 | 230 2020-04-05 | 200 2020-04-10 | 220 2020-04-06 | 250 2020-04-07 | 215 2020-04-08 | 300 2020-04-09 | 250
ボーナスリード:PostgreSQLデータベースの作成
sales の行数をカウントするtotal()関数を作成してみましょう。 テーブル
postgres=# CREATE OR REPLACE FUNCTION total()
RETURNS integer AS $total$
declare
total integer;
BEGIN
SELECT count(*) into total FROM sales;
RETURN total;
END;
$total$ LANGUAGE plpgsql;
CREATE FUNCTION
上記のクエリでは、BEGINとENDの間に記述されたSQLクエリを実行し、結果を宣言された変数$ totalに格納するように、関数total()を定義しました。これは、関数の実行後に返されます。
PostgreSQL関数を実行する方法は次のとおりです
postgres=# select total();
total
-------
10
ボーナスリード:PostgreSQLでヒストグラムを作成する方法
上記のチュートリアルが、PostgreSQLでユーザー定義関数とストアドプロシージャを作成するのに役立つことを願っています。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日それを試してみてください!