ホームページ  >  記事  >  データベース  >  Oracle のトリガーとストアド プロシージャとは何ですか

Oracle のトリガーとストアド プロシージャとは何ですか

青灯夜游
青灯夜游オリジナル
2022-01-25 16:49:572636ブラウズ

Oracle では、ストアド プロシージャは、特定の機能を完了するために使用され、データベースに保存される一連の SQL ステートメントです。ストアド プロシージャは、開発者の作業負荷を軽減するために繰り返し使用できますが、トリガーが提供されています。データベースからプログラマーおよびデータへのアナリストがデータの整合性を確保する 1 つの方法は、テーブル イベントに関連する特別なストアド プロシージャを使用することです。

Oracle のトリガーとストアド プロシージャとは何ですか

このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle のトリガーとは

トリガーは、データの整合性を確保するために、データベースによってプログラマとデータ アナリストに提供されます。テーブル イベントに関連する特別なストアド プロシージャ。イベントによって引き起こされます。

トリガーは、特定のイベントがトリガーされたときに暗黙的に実行される SQL ステートメントであり、パラメーターを受け取ることはできません。 Oracle トリガーは、データベースに対する挿入、更新、削除操作、または Oracle データベース内のビューに対する同様の操作をトリガーします。また、データベースのクローズやオープンなどの一部のシステム イベントもトリガーします。

トリガーの分類は何ですか?

(1)、データ操作言語 (DML) トリガー: テーブル上に作成され、DML 時間によってトリガーされるトリガー;

(2)、ではなく) トリガー: 作成日ビュー。ビューに対する追加、変更、削除操作を置き換えるために使用されます。

(3) データ定義言語 (DDL) トリガー: スキーマで定義され、トリガーとなるイベントはデータベース オブジェクトの作成と変更です。

(4) データベースシステムトリガー:データベース全体に定義されており、データベースの起動や停止などのデータベースの動作をトリガー時刻とします。

トリガーのコンポーネントは何ですか?

(1) トリガーされたイベント: つまり、どのような状況でトリガーがトリガーされるか (挿入、更新、削除など)。

(2) トリガー時間: つまり、トリガーがトリガー イベントの前 (before) かトリガー イベントの後 (after) であるか、またトリガーされたイベントとトリガー本体の順序も示します。

(3) トリガー自体: イベントがトリガーされたときにトリガーによって実行される操作 (例: pl/sql ブロッ​​ク)。

(4) トリガー頻度: トリガーに定義されたアクションが実行される回数を示します。つまり、ステートメントレベルのトリガーと行レベルのトリガーです。ステートメントレベルのトリガーとは、イベントの発生時にトリガーが 1 回だけ実行されることを意味します。行レベルのトリガーの場合、イベントが発生すると、操作の影響を受けるデータの行ごとにトリガーが個別に実行されます。

oracle のストアド プロシージャとは

ストアド プロシージャ (ストアド プロシージャ) は、大規模なデータベース システム内のプロシージャのグループであり、完全な特定の関数です。一連の SQL ステートメントはデータベースに保存されます。初めてコンパイルした後、再度呼び出すときに再度コンパイルする必要はありません。ユーザーはストアド プロシージャの名前を指定してストアド プロシージャを呼び出し、パラメーターを指定します (ストアド プロシージャにパラメーターがある場合)。

簡単に言うと、これは 1 つのことを具体的に実行する SQL ステートメントです。

ストアド プロシージャは繰り返し使用できるため、開発者の作業負荷が軽減されます。

Oracle データベースのストアド プロシージャは、procedure です。

ストアド プロシージャを作成する理由

1. 高効率

ストアド プロシージャは、一度コンパイルされるとデータベースに保存され、直接実行するたびに保存されます。通常の SQL ステートメントを他の場所 (メモ帳など) に保存したい場合は、実行前に分析してコンパイルする必要があります。したがって、ストアドプロシージャの方が効率的だと思います。

2. ネットワーク トラフィックの削減

コンパイルされたストアド プロシージャはデータベースに配置され、リモートで呼び出すときに大量の文字列型 SQL ステートメントを送信しません。

3. 高い再利用性

ストアド プロシージャは特定の関数用に作成されることが多く、この特定の関数を完了する必要がある場合は、ストアド プロシージャを再度呼び出すことができます。

4. 高い保守性

機能要件に小さな変更がある場合、以前のストアド プロシージャを変更する方が簡単で、労力もかかりません。

5. 高いセキュリティ

特定の機能を完了するストアド プロシージャは、通常、特定のユーザーのみが使用でき、使用 ID 制限があるため、安全性が高まります。

推奨チュートリアル: 「Oracle チュートリアル

以上がOracle のトリガーとストアド プロシージャとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。