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

OracleDatabaseのPL/SQL参照カーソルの概要

    OracleデータベースのPL/SQL参照カーソルとは何ですか?

    パフォーマンスに関しては、OracleのPL/SQL参照カーソルは静的カーソルよりも優れていることが常に証明されています。単一の参照カーソルが単一のPL/SQLブロック内の複数のSELECT文に関連付けられるため。さらに、これにより、個別の明示カーソルを書き込む必要が少なくなります。さらに、PL/SQL言語の非常に効率的で柔軟かつ堅牢な機能になります。それでは、PL / SQLの参照カーソルを調べて、それについて詳しく学びましょう。

    OracleデータベースのPL/SQL参照カーソルとは何ですか?

    Ref Cursorは、Reference toaCursorの頭字語です。これは、カーソル変数と呼ばれる特殊なタイプの変数を宣言できるPL/SQLデータ型です。

    カーソル変数と参照カーソルは相互に接続されていますか?

    それはとても良い質問です。多くの本で、これらの名前は両方とも同じ意味で使用されていることがわかりました。ただし、どちらも2つの別個の、しかし相互に依存するトピックです。

    一方では、カーソル変数は、SGAのさまざまなコンテキスト領域を参照するポインターのようなものです。一方、RefCursorはカーソル値を保持するデータ型です。

    では、カーソル変数と参照カーソルはどのように相互依存していますか?

    上記のように、カーソル変数は参照カーソルを使用して宣言されます。したがって、Oracle Databaseでは、カーソル変数は参照カーソルの形式で存在すると言えます

    カーソル変数の定義
    上記のすべての情報を使用して、カーソル変数を次のように定義できます。参照カーソルタイプの変数は、カーソル変数と呼ばれます。

    参照カーソルを宣言するための構文は何ですか?

    OracleDatabaseでRefカーソルを宣言するための一般化された構文は次のとおりです。

    DECLARE
     TYPE [cursor_variable_name] IS REF CURSOR [RETURN (return_type)];
    

    アプリケーションで使用する参照カーソルのタイプに応じて、構文を変更して使用できます。そうは言っても、OracleDatabaseで使用可能な参照カーソルのタイプを見てみましょう。

    何種類のPL/SQL参照カーソルがありますか?

    PL/SQLには2種類の参照カーソルがあります。これらは次のとおりです。

    1. 強力な参照カーソルと
    2. 弱い参照カーソル

    OracleDatabaseのStrongRefCursorとは何ですか?

    リターンタイプが固定されているRefカーソルは、StrongRefCursorと呼ばれます。

    さらに、このような参照カーソルは、一部のSELECTステートメントでのみ使用できます。さらに、SELECTステートメントのデータ型の結果は、強力カーソルの宣言中に修正されたものと一致する必要があります。

    PL/SQLでの強力な参照カーソルの構文

    強力な参照カーソルの構文は次のとおりです。

    DECLARE
    	TYPE cursor_variable_name IS REF CURSOR 
    RETURN (return type);
    

    Return句は、参照カーソルを宣言する際に非常に重要な役割を果たします。それはその範囲を制限します。また、Ref Cursorを、宣言時にRETURN句で指定したデータ型とデータ型が一致する結果を返すSELECTステートメントのみに制限します。

    また、参照カーソルの戻りタイプは常にレコードデータ型である必要があります。テーブルのレコード構造またはユーザー定義のレコード構造のいずれかです。

    Oracleデータベースの弱参照カーソルとは何ですか?

    強い参照カーソルとは対照的に、弱い参照カーソルはリターンタイプを持たないカーソルです。つまり、リターンタイプが固定されていない参照カーソルは、弱い参照カーソルと呼ばれます。

    弱い参照カーソルには固定の戻りタイプがないため、すべてのSELECTステートメントに対してオープンです。これにより、PL/SQLで最も使用されている参照カーソルの1つになります。

    PL/SQLの弱い参照カーソルの構文

    DECLARE
    	TYPE ref_cursor_name IS REF CURSOR;
    

    欠落しているreturn句を除いて、構文は強力なrefカーソルとほとんど同じです。

    カナダの研究によると、人間は生物学的に怠惰になるように配線されています。また、Refポインター型を宣言してから変数を作成するという大変な作業をすべて行う必要がある場合に、これらすべての処理能力を備えたコンピューターを用意することのポイントは何ですか。

    親愛なる友人の皆さんが、カーソル変数を作成するという大変な作業をすべて控えたい場合は、Oracle PL/SQLにオプションがあります。このオプションは、暗黙的に作成されたカーソル変数として機能します。それでは、それが何であるかを見てみましょう。

    Sys_RefCursor

    Sys Refカーソルは、Oracleに組み込まれているカーソル変数です。弱参照カーソルを宣言し、それも参照ポインター型を宣言しません。ほとんどの場合、保存されたサブプログラムに引数として渡すことができる汎用カーソルとして使用されます。

    OracleDatabaseでのPL/SQL参照カーソルの概要に関するこのチュートリアルは以上です。今後のチュートリアルと同様に、Oracle PL/SQLでの参照カーソルの実用的なデモンストレーションを行います。

    詳細については、YouTubeチャンネルの同じトピックに関するビデオチュートリアルを参照することもできます。

    立ち寄ってくれてありがとう。良い一日を!


    1. MySQLまたはMariaDBサーバーの本番環境への準備-パート2-

    2. MySQL/MariaDB用のAzureデータベースをオンプレミスサーバーに移行する

    3. ユーザーアカウントの管理、役割、権限、認証PHPおよびMySQL

    4. リレーショナルオブジェクトの主キーを処理するAndroidレルム