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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 関数 » SQL 関数 (E ~ O)

 

EVENT_PARAMETER 関数 [システム]

イベント・ハンドラのためのコンテキスト情報を提供します。

構文
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' );

      このパラメータは、Connect、Disconnect、ConnectFailed、BackupEnd、RAISERROR の各イベントに対して有効です。AppInfo 文字列には、Embedded SQL、ODBC、OLE DB、ADO.NET、iAnywhere 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 値 有効なシステム・イベント・タイプ
    AppInfo BackupEnd、"Connect"、ConnectFailed、"Disconnect"、"RAISERROR"、ユーザ・イベント
    ConnectionID BackupEnd、"Connect"、"Disconnect"、Global Autoincrement、"RAISERROR"、ユーザ・イベント
    DisconnectReason "Disconnect"
    EventName すべて
    Executions すべて
    NumActive すべて
    SQLCODE ConnectFailed
    TableName GlobalAutoincrement
    User BackupEnd、"Connect"、ConnectFailed、"Disconnect"、Global Autoincrement、"RAISERROR"、ユーザ・イベント

戻り値

VARCHAR

備考

イベントに渡される値の最大サイズは、サーバの最大ページ・サイズ (-gp サーバ・オプション) によって制限されます。このサイズより長い値は、最大ページ・サイズを下回るサイズにトランケートされます。

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の例は、イベントに文字列パラメータを渡す方法を示します。イベントは、トリガされた時刻をデータベース・サーバ・メッセージ・ウィンドウに表示します。

CREATE EVENT ev_PassedParameter
HANDLER
BEGIN
  MESSAGE 'ev_PassedParameter - was triggered at ' || event_parameter( 'time' );
END;
TRIGGER EVENT ev_PassedParameter( "Time"=string(current timestamp ) );