sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQL作成関数

    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を使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日それを試してみてください!

    1. MySQL –ランダム番号を生成する方法

    2. MariaDB JSON_QUERY()の説明

    3. パフォーマンスチューニング迷路

    4. VBAの同じ行で変数を宣言して初期化する