\r\n\r\n

明示的なカーソルと暗黙のカーソルの違い

データベースに関して言えば、カーソルはデータベース内のレコードをトラバースするための制御構造である。カーソルは、sqlselect文の名前を指定するための機構を提供し、その名前を使用してsql文の情報を操作することができます。カーソルが明示的に定義されていない場合、暗黙のカーソルは自動的に作成され、pl/sqlでselect文が発行されるたびに使用されます。明示的カーソルは、その名の通り、開発者が明示的に定義するものである。pl/sqlでは、明示的なカーソルは、実際には、キーワードcursorを使用して定義された名前付きクエリです...。

明示的カーソルと暗黙的カーソル

データベースに関して言えば、カーソルはデータベース内のレコードをトラバースするための制御構造である。カーソルは、sqlselect文の名前を指定するための機構を提供し、そのSQL文の情報を操作するために使用することができます。カーソルが明示的に定義されていない場合、PL/SQLでSelect文が発行されるたびに暗黙のカーソルが自動的に作成され、使用されます。明示的カーソルは、その名の通り、開発者が明示的に定義するものである。PL/SQLでは、明示的なカーソルは、実際にはキーワードカーソルを使用して定義された名前付きクエリです。

暗黙のカーソルとは何ですか?

select 文が発行されるたびに、Oracle は自動的に暗黙のカーソルを作成し、使用します。暗黙のカーソルが使用されている場合、データベース管理システム(DBMS)は、オープン、フェッチ、クローズ操作を自動的に実行する。暗黙のカーソルは、1行を返すSQL文でのみ使用できます。暗黙のカーソルを使用すると、SQL文が複数行を返した場合にエラーになります。暗黙のカーソルは、各データ操作言語(DML)文、すなわちINSERT、UPDATE、DELETE文に自動的に関連付けられます。また、SELECTINTO文の処理には暗黙のカーソルが使用されます。暗黙のカーソルを使用してデータを取得する場合、SQLステートメントがデータを返さないときはNO_data \u FOUND例外が発生します。また、SQL文が複数行を返す場合、暗黙のカーソルはあまりに多くの "複数行 "例外を発生させる可能性があります。

エクスプリシットカーソルとは何ですか?

先に述べたように、明示的なカーソルは、名前を使用して定義されたクエリです。明示的なカーソルは、レコードの集合へのポインタと考えることができ、ポインタはレコードの集合の中を前進させることができる。明示的カーソルは、データのオープン、クローズ、フェッチを完全に制御することができます。また、明示的なカーソルを用いて複数行を取得することも可能である。明示的カーソルは、関数やプロシージャのようにパラメータを受け取ることができ、カーソル内の変数は、カーソルが実行されるたびに変更することができるようになります。さらに、明示的カーソルでは、行全体をPL/SQLのレコード変数に抽出することができます。明示的な名前を用いて宣言する必要がある場合は、まず明示的な名前を用いる必要がある。カーソルのプロパティは、カーソルに与えられた名前を使用してアクセスすることができます。宣言したら、まずカーソルを開く必要があります。そうすれば、番号の取得を開始することができます。複数行を取得する必要がある場合は、取得操作をループで行う必要があります。最後に、カーソルを閉じる必要があります。

明示的カーソルと暗黙的カーソルの違い

  • 2020-11-05 16:34 に公開
  • 閲覧 ( 20 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ