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

OracleデータベースでPL/SQL関数を作成する方法

    前のPL/SQLチュートリアルで、OracleDatabaseのPL/ SQL関数とは何かについてすでに学習したので、先に進んで、非常に簡単な例を使用してPL/SQL関数を作成する方法を学びましょう。

    このチュートリアルでは、PL / SQL関数の構文に関する適切な知識が必要になるため、最初に前のチュートリアルを確認することをお勧めします。そうは言っても、このチュートリアルを始めましょう。

    このチュートリアルをシンプルでわかりやすくするために、円の面積を計算する非常に簡単な関数を作成します。これは目的を果たし、OracleデータベースでPL/SQL関数を作成する方法を学ぶのに役立つと思います。

    前のチュートリアルで説明したように、関数本体は2つの部分に分かれています

    • 最初はPL/SQL関数のヘッダーです
    • 2番目はPL/SQL関数の実行部分です

    それでは、関数のヘッダーから始めましょう。

    ステップ1.PL/SQL関数のヘッダーを作成します。

    ヘッダーは、関数のシグニチャまたはPL/SQL関数の宣言で構成されます。

    --Function Header
    CREATE OR REPLACE FUNCTION circle_area (radius NUMBER) 
    RETURN NUMBER IS
    

    ステップ2.変数または定数を宣言します。

    プログラムで変数や定数などを宣言する必要がある場合は、ヘッダーを作成した直後に、DECLAREキーワードを使用せずに宣言できます。

    --Declare a constant and a variable
    pi  	CONSTANT NUMBER(7,2) :=	3.141;
    area 	NUMBER(7,2);
    

    ステップ3.PL/SQL関数の実行部分を作成します。

    関数のヘッダーを作成し、必要なすべての変数と定数を宣言すると、PL/SQL関数の実行部分を作成する準備が整います。ここで、PL / SQL関数の実行セクションに、すべての実行ステートメントを記述します。この部分は、関数の動作も定義します。

    BEGIN
      --Area of Circle pi*r*r;
      area := pi * (radius * radius);
      RETURN area; 
    END;
    /
    

    クイック情報:
    円の面積における円の半径の2乗を計算するには、POWER(p、q)の組み込み関数を使用することもできます。この関数は、2つの数値入力を受け取り、1つの数値を返します。これは、qへのpraiseの算術式に対する答えになります。

    次に、上記のすべてのコードのチャンクを1つの名前付きユニットに結合しましょう。

    「円の面積」を計算するためのPL/SQL関数。

    --Function Header
    CREATE OR REPLACE FUNCTION circle_area (radius NUMBER) 
    RETURN NUMBER IS
    --Declare a constant and a variable
    pi  	CONSTANT NUMBER(7,2) :=	3.141;
    area 	NUMBER(7,2);
    BEGIN
      --Area of Circle pi*r*r;
      area := pi * (radius * radius);
      RETURN area; 
    END;
    

    コンパイルが成功すると、circle_areaという名前のPL/SQL関数である名前付きPL/SQLブロックが作成されます。

    PL/SQL関数にはPL/SQLブロックという名前が付けられているため、データベースに永続的に保存され、いつでも使用できます。

    PL / SQL関数の動作を確認するには、プログラムから呼び出す必要があります。プログラムは、匿名のPL / SQLブロック、名前付きのPL / SQLブロック、またはSELECT文を使用することもできます。関数を呼び出すこれらのさまざまな方法のいくつかは、私のYouTubeチャンネルの同じトピックに関する私のビデオチュートリアルで示されています。そのビデオをご覧になることを強くお勧めします。

    ただし、PL / SQL関数の呼び出しについて別のブログを作成したい場合は、Facebookで私に手紙を書くか、Twitterにツイートを残してください。

    OracleDatabaseでPL/SQL関数を作成する方法に関するこのチュートリアルは以上です。このブログをソーシャルメディアで共有し、他の人の学習を支援してください。


    1. PL/SQLプロシージャを使用してOracle10gでテーブルのダンプを取得する

    2. MySQLとPostgreSQL? Djangoプロジェクトにはどちらを選択すればよいですか?

    3. Hibernateを使用した配列のマッピング

    4. Oracle SQL:列は許可されていません