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

OracleデータベースでPL/SQLパッケージを作成する方法

    前のチュートリアルでは、OracleDatabaseのPL/SQLパッケージに必要なすべての理論について説明しました。そこで、パッケージとは何か、それらのアーキテクチャ、およびパッケージを作成するための構文について学びました。認定試験と面接の質問に答えるために必要なすべての理論を確認したので、次は一歩進んで、OracleDatabaseでPL/SQLパッケージを作成するプロセスを示す例を実行します。

    パッケージの作成方法

    デモンストレーションでは、関数とストアドプロシージャの2つの要素で構成される非常に単純なパッケージを作成します。概念を理解しやすくするために、この例はできるだけ単純にするようにしています。

    前のチュートリアルでパッケージのアーキテクチャについて説明したように、パッケージは2つの部分に分かれています。

    • パッケージヘッダーと
    • パッケージ本体

    したがって、最初にパッケージヘッダーを作成することから始めます

    パッケージヘッダー

    CREATE OR REPLACE PACKAGE pkg_RebellionRider IS
      FUNCTION prnt_strng RETURN VARCHAR2;
      PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2);
    END pkg_RebellionRider;
    

    上記のコードを見ると、パッケージには2つのパッケージ要素(PL / SQL関数prnt_strngとストアドプロシージャproc_superhero)が含まれていることが明確にわかります。

    パッケージ本体

    --Package Body
    CREATE OR REPLACE PACKAGE BODY pkg_RebellionRider IS
      --Function Implimentation
      FUNCTION prnt_strng RETURN VARCHAR2 IS
        BEGIN
          RETURN 'RebellionRider.com';
        END prnt_strng;
      
      --Procedure Implimentation
       PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2) IS
         BEGIN
          INSERT INTO new_superheroes (f_name, l_name) VALUES(f_name, l_name);
         END;
      
    END pkg_rrdr;
    

    上記のパッケージ本体のコードでは、パッケージヘッダーに定義した両方のパッケージ要素を実装しました。

    情報バイト
    パッケージのヘッダーと本文はどちらも個別のデータベースオブジェクトであるため、パッケージを機能させるには、それらを個別にコンパイルする必要があります。

    パッケージ要素にアクセスする方法は?

    パッケージのヘッダーと本文が正常に作成およびコンパイルされました。次は何ですか?他のすべてのデータベースオブジェクトと同様に、パッケージは独自の目的を果たします。パッケージを使用すると、さまざまなデータベースオブジェクトを1つの名前でグループ化できます。また、PL / SQLパッケージにはデータベースブロックという名前が付けられているため、データベースに格納して、後で必要に応じて使用できます。

    では、ここで問題が発生するのは、パッケージ要素にアクセスする方法です。定義されてパッケージに実装された要素にアクセスするには、ドット(。)表記を使用します。それに応じて、パッケージ要素にアクセスするには、最初にパッケージの名前を入力し、次にドット(。)演算子を入力し、次にパッケージ要素の名前を入力する必要があります。

    例:

    たとえば、パッケージpkg_RebellionRiderのPL/SQL関数prnt_strngを呼び出したいとします。

    --Package Calling Function
    BEGIN
      DBMS_OUTPUT.PUT_LINE (PKG_RebellionRider.PRNT_STRNG);
    END;
    

    匿名ブロックを使用した上記のコードでは、パッケージpkg_RebellionRiderの関数prnt_strngを呼び出します。

    同じトピックに関するビデオチュートリアルを見て、パッケージのプロシージャproc_superheroを呼び出す方法を確認できます。また、同じビデオで、上記のすべてのコードについて詳しく説明しました。そのビデオを楽しんでいただければ幸いです。もしそうなら、必ず共有していいねをしてください。

    このブログを友達や同僚と共有することもできます。

    ありがとう&素晴らしい一日を。


    1. 「SQLServerを使用したMicrosoftAccessの最適化」プレゼンテーションをご覧ください

    2. 文字列の分割/連結方法の比較

    3. SQL Server:データベースが復元状態でスタックしている

    4. 制約の名前がわからない場合、Oracleで非ヌル制約を削除するにはどうすればよいですか?