トリガーとプロシージャの違い
コンテンツ
トリガーとプロシージャは、拡張SQLのコンポーネントです。トリガーとプロシージャは両方とも、実行時に指定されたタスクを実行します。トリガーとプロシージャの基本的な違いは、 引き金 イベントの発生時に自動的に実行されますが、 手順 明示的に呼び出されたときに実行されます。
以下に示す比較チャートを使用して、トリガーと手順のいくつかの違いについて説明します。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | トリガー | 手続き |
---|---|---|
ベーシック | これらは、指定されたイベントの発生時に自動的に実行されます。 | 必要なときにいつでも実行できます。 |
呼び出し中 | トリガーをプロシージャ内で呼び出すことはできません。 | ただし、トリガー内でプロシージャを呼び出すことができます。 |
パラメータ | トリガーにパラメーターを渡すことはできません。 | パラメータをプロシージャに渡すことができます。 |
戻る | トリガーは実行時に値を返しません。 | プロシージャは、実行時に値を返す場合があります。 |
トリガーの定義
トリガーは、指定されたイベントの発生時に自動的に実行されるプロシージャのようなものです。手順と同様に、トリガーを明示的に呼び出す必要はありません。トリガーは、指定されたイベントの発生に応じてタスクを実行するために作成されます。
トリガーは、 DDL ステートメント(DELETE、INSERT、またはUPDATE)、または DML ステートメント(DELETE、INSERT、またはUPDATE)または、一部のデータベース操作(SERVERERROR、LOGON、LOGOFF、STARTUP、またはSHUTDOWN)。
トリガーは、以下で説明する3つのコンポーネントで構成されます。
- イベント:イベントは、トリガーの実行を引き起こす何らかのインシデントの発生です。トリガーは、次のいずれかを実行するように注文できます。 前 イベントが発生するか、実行されるように順序付けられます 後 イベントの実行。
- 調子:トリガーのオプション部分です。指定されていない場合、指定されたイベントが発生するとトリガーが実行されます。条件が指定されている場合、ルールをチェックして、トリガーを実行する必要があるかどうかを判断します。
- アクション:アクションは、トリガーの実行時に実行される一連のSQLステートメントです。
イベントの作成の一般的な形式を以下に説明します。
トリガーの作成 ここで、条件はオプションです。 プロシージャは、プログラム単位として取得でき、何らかのタスクを実行するために作成され、データベースに保存されます。これらは、必要なときにSQLステートメントによって呼び出されます。プロシージャは、開発者が定義するユーザー定義関数に似ています。プロシージャは次を使用して呼び出すことができます コール または 実行. この手順は、次の状況で役立ちます。 プロシージャを作成する一般的な形式について説明します。 プロシージャの作成 ここでは、パラメーターとローカル宣言はオプションです。必要な場合にのみ言及されます。以下のステートメントは、プロシージャの呼び出しについて説明しています。 コール トリガーは便利ですが、データの複雑さを増すため、代替手段が存在する場合は回避されます。トリガーは、適切な手順によって代替されることもあります。手順の定義
結論: