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

PL / SQLで関数を作成する方法は?

    PL / SQLで関数を作成するには、関数の作成または置換を使用します。 声明。以下は構文の詳細と例です。

    構文

    CREATE [OR REPLACE] FUNCTION function_name [(parameters)] 
    Return data_type is
    /* declare variables here */
    Begin
    /* write program logic here */
    Return data_type;
    End;

    句ORREPLACEはオプションですが、変更を加えた後にコードを複数回コンパイルしていたため、使用することをお勧めします。関数にパラメーターが必要な場合は、括弧で囲んでください。関数は値を返す必要があるため、Return句のデータ型を指定します。

    以下は、2つの数値を加算してその合計を返すPL/SQL関数の例です。この関数は、数値タイプの2つのパラメーターを受け取り、数値を返します。

    CREATE OR REPLACE FUNCTION sum_two_numbers (p_n1 IN NUMBER, p_n2 IN NUMBER)
    RETURN NUMBER
    IS
    BEGIN
    RETURN (p_n1 + p_n2);
    END;
    /

    Selectステートメントを使用してテストします:

    SELECT sum_two_numbers (2, 3) total FROM DUAL;

    出力:

    TOTAL
    ----------
    5
    1 row selected.

    PL / SQLブロックを使用してテストします:

    SET SERVEROUTPUT ON;
    
    DECLARE
    n_total NUMBER;
    BEGIN
    n_total := sum_two_numbers (2, 3);
    DBMS_OUTPUT.put_line ('Total is :' || n_total);
    END;
    /

    出力:

    Total is :5
    PL/SQL procedure successfully completed.

    OracleDocsからOraclePL/SQL関数の詳細を取得します。

    関連項目:

    • Oracle関数の例
    • OracleRow_Number関数の例

    1. Oracle CloudPlatformでのMySQLデータベースサービスでのOracleJDeveloperの使用、パート2

    2. SelectSUMクエリはnullを返します。 0を返す必要があります

    3. SQLで平方根を計算する方法

    4. MySQLクエリでLIMITを指定してSELECTを使用するときにすべての行をカウントするにはどうすればよいですか?