\r\n\r\n
トリガーとカーソル
データベースにおいて、トリガーは、テーブル/ビューで特定のイベントが発生したときに自動的に実行されるプロシージャ(コードセグメント)です。他の用途の中で、トリガーは主にデータベースの整合性を維持するために使用されます。カーソルは、データベースのレコードを走査するためにデータベースで使用される制御構造である。多くのプログラミング言語が提供するイテレータと非常によく似ている。
トリガーとは何ですか?
トリガーは、データベースのテーブル/ビューで特定の特定のイベントが発生したときに自動的に実行されるプロシージャ(コードセグメント)です。他の用途の中で、トリガーは主にデータベースの整合性を維持するために使用されます。トリガーは、ビジネスルールの適用、データベース内の変更の監査、データの複製などにも使用されます。最も一般的なトリガーは、データ操作言語(DML)トリガーであり、データが垂直方向にあるときにトリガーされる。データベースシステムの中には、データ定義言語(DDL)イベントが発生したときにトリガーされる非データトリガーをサポートしているものがあります。例としては、テーブルの作成時、コミットやロールバック操作の実行時に起動されるトリガーなどがあります。Oracle Database System は、作成後、変更前、変更後、削除前、削除後などのスキーマレベルのトリガー(データベーススキーマが変更されたときにトリガーされるもの)をサポートしています。Oracle がサポートする主なトリガータイプは、行レベルトリガー、列レベルトリガー、行単位型トリガー、For Eachステートメント型の4種類です。トリガー
カーソルとは何ですか?
カーソルは、データベースのレコードを走査するためにデータベースで使用される制御構造である。多くのプログラミング言語が提供するイテレータと非常によく似ている。カーソルは、データベース内のレコードを走査するだけでなく、データの検索、レコードの追加や削除にも役立ちます。正しい方法を定義することで、カーソルを使った逆方向のトラバースも可能です。SQLクエリが行のセットを返すとき、これらの行は実際にはカーソルを使って処理されます。カーソルが使用される前に、名前が宣言され、割り当てられる必要があります。その後、OPENコマンドでカーソルを開く必要があります。このアクションは、レコード結果セットの最初の行の前にカーソルを配置します。カーソルはその後、実際にアプリケーションにデータ行を配置するためにFETCH操作を実行しなければなりません。最後に、CLOSE操作でカーソルを閉じる必要があります。閉じたカーソルを再び開くことができます。
トリガーとカーソルの違いは何ですか?