イベントハンドラのためのコンテキスト情報を提供します。
EVENT_PARAMETER( context-name )
context-name : AppInfo | ConnectionID | DisconnectReason | EventName | Executions | MirrorServerName | NumActive | ScheduleName | SQLCODE | TableName | User | condition-name
context-name あらかじめ設定されている文字列の 1 つ。文字列は引用符で囲み、大文字と小文字を区別しません。次の情報を受け渡します。
AppInfo イベントをトリガさせた接続の AppInfo 接続プロパティの値。イベントのコンテキスト外のプロパティの値を参照するには、次の文を使用します。
SELECT CONNECTION_PROPERTY( 'AppInfo' ); |
AppInfo 文字列には、Embedded SQL、ODBC、OLE DB、ADO.NET、SQL Anywhere JDBC ドライバの各接続に対するクライアント接続コンピュータ名とアプリケーション名が含まれています。
ConnectionID イベントをトリガさせた接続の接続 ID。
DisconnectReason 接続が終了した理由を示す文字列。このパラメータは、Disconnect イベントに対してのみ有効です。表示される結果は、次のとおりです。
abnormal データベース接続を切断する前にクライアントアプリケーションが異常終了したか、またはクライアントコンピュータとサーバコンピュータの間で通信エラーが発生したことによって、切断が行われました。
connect failed 接続の試行に失敗しました。
drop connection DROP CONNECTION 文が実行されました。
from client クライアントアプリケーションが接続を切断しました。
inactive -ti サーバオプションで指定された期間に、要求が受信されませんでした。
liveness -tl サーバオプションで指定された期間に、活性パケットが受信されませんでした。
EventName トリガされたイベント名。
Executions イベントハンドラの実行回数。
MirrorServerName データベースミラーリングシステムのプライマリサーバとの接続を失ったミラーサーバまたは監視サーバの名前。
NumActive イベントハンドラのアクティブインタンス数。これは、一定時間に 1 つのイベントハンドラで 1 つのインスタンスだけを実行させるように制限する場合に利用できます。
ScheduleName イベントを起動させたスケジュール名。イベントが、TRIGGER EVENT を使用して手動で起動された場合、またはシステムイベントとして起動された場合、結果は空の文字列になります。スケジュールが作成されたときにスケジュール名が明示的に割り当てられなかった場合は、イベントの名前になります。
SQLCODE 接続の失敗時に発生したエラーの SQLCODE。このパラメータは、ConnectFailed イベントに対してのみ有効です。
TableName RemainingValues で使用するテーブル名。
User イベントをトリガさせたユーザのユーザ ID。
さらに、EVENT_PARAMETER 関数からは、EVENT_CONDITION 関数の有効なすべての condition-name 引数にアクセスできます。
次の表は、システムイベントタイプに対して有効な context-name 値を示します。
システムイベントタイプ | Context-name 値 |
---|---|
BackupEnd | AppInfo、ConnectionID、EventName、Executions、NumActive、User |
Connect | AppInfo、ConnectionID、EventName、Executions、NumActive、User |
ConnectFailed | AppInfo、EventName、Executions、NumActive、SQLCODE、User |
"Disconnect" | AppInfo、ConnectionID、EventName、Executions、NumActive、User |
GlobalAutoincrement | ConnectionID、EventName、Executions、NumActive、TableName、User |
"RAISERROR" | AppInfo、ConnectionID、EventName、Executions、NumActive、User |
User events | AppInfo、ConnectionID、EventName、Executions、NumActive、User |
VARCHAR
イベントに渡される値の最大サイズは、サーバの最大ページサイズ (-gp サーバオプション) によって制限されます。このサイズより長い値は、最大ページサイズを下回るサイズにトランケートされます。
SQL/2008 ベンダー拡張。
次の例は、イベントに文字列パラメータを渡す方法を示します。イベントは、トリガされた時刻をデータベースサーバメッセージウィンドウに表示します。
CREATE EVENT ev_PassedParameter HANDLER BEGIN MESSAGE 'ev_PassedParameter - was triggered at ' || event_parameter( 'time' ); END; TRIGGER EVENT ev_PassedParameter( "Time"=string(current timestamp ) ); |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |