Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー データベース管理 » データベースのメンテナンス » スケジュールとイベントの使用によるタスクの自動化 » スケジュールとイベントの内部

 

イベントハンドラーの実行

イベントハンドラーがトリガーされると、一時的に内部接続が確立され、その上でイベントハンドラーが実行されます。ハンドラーは、そのハンドラーがトリガーされるに至った接続で実行されるわけではありません。このため、クライアントアプリケーションとの対話に使用される MESSAGE...TO CLIENT などの文は、イベントハンドラー内では意味を持ちません。同様に、結果セットを返す文は使用できません。

ハンドラーが実行される一時的な接続は、ライセンス契約の接続制限には数えられません。login_procedure に指定したプロシージャーはイベント接続では実行されません。

イベントの作成には DBA 権限が必要です。また、イベントは作成者のパーミッションで実行されます。DBA 権限を持たないでイベントハンドラーを実行する場合、作成者のパーミッションで実行されるストアドプロシージャーのように、ハンドラー内からプロシージャーを呼び出すことができます。

イベントエラーが発生すると、データベースサーバーメッセージログに記録されます。

注意

イベントハンドラー内のトランザクションは、実行中にエラーが検出されなかった場合はコミットされ、エラーが検出された場合はロールバックされます。例外処理とアトミックな複合文を参照してください。