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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Funktionen » SQL-Funktionen (E-O)

 

EVENT_PARAMETER-Funktion [System]

Liefert Kontextinformationen bei Event-Handlern

Syntax
EVENT_PARAMETER( Kontextname )
Kontextname:
  AppInfo
| ConnectionID
| DisconnectReason
| EventName
| Executions
| MirrorServerName
| NumActive
| ScheduleName
| SQLCODE
| TableName
| User
| Bedingungsname
Parameter
  • Kontextname   Eine der voreingestellten Zeichenfolgen. Die Zeichenfolgen müssen in Anführungszeichen gesetzt werden, beachten die Groß- und Kleinschreibung nicht und enthalten die folgenden Informationen:

    • AppInfo   Der Wert der AppInfo-Verbindungseigenschaft für die Verbindung, die das Auslösen des Ereignisses bewirkt hat. Verwenden Sie die folgende Anweisung, um den Wert der Eigenschaft außerhalb des Kontexts des Ereignisses anzuzeigen:
      SELECT CONNECTION_PROPERTY( 'AppInfo' );

      Dieser Parameter gilt für die Ereignisse Connect, Disconnect, ConnectFailed, BackupEnd und RAISERROR. Die AppInfo-Zeichenfolge enthält den Computernamen und den Anwendungsnamen der Clientverbindung für Embedded SQL-, ODBC-, OLE DB-, ADO.NET- und iAnywhere JDBC-Treiber-Verbindungen.

    • ConnectionID   Die Verbindungs-ID der Verbindung, die das Auslösen des Ereignisses bewirkt hat

    • DisconnectReason   Eine Zeichenfolge, die darauf hinweist, warum die Verbindung beendet wurde. Dieser Parameter gilt nur für Disconnect-Ereignisse. Zu den möglichen Ergebnissen gehören:

      • abnormal   Die Trennung einer Verbindung erfolgte, weil die Clientanwendung vor der Trennung von der Datenbank abnormal beendet wurde, oder weil ein Verbindungsfehler zwischen dem Client- und dem Servercomputer aufgetreten ist.

      • connect failed   Ein Verbindungsversuch ist fehlgeschlagen.

      • drop connection   Eine Anweisung DROP CONNECTION ist ausgeführt worden.

      • from client   Die Clientanwendung hat die Verbindung getrennt.

      • inactive   Für die mit der Option -ti angegebene Serveroption wurden für die angegebene Periode keine Anforderungen empfangen.

      • liveness   Für die mit der Option -tl angegebene Serveroption wurden keine Verfügbarkeitspakete empfangen.

    • EventName   Der Name des Ereignisses, das ausgelöst wurde

    • Executions   Gibt an, wie oft der Event-Handler ausgeführt wurde.

    • MirrorServerName   Der Name des Spiegel- oder Arbiterservers, der in einem Datenbank-Spiegelsystem seine Verbindung zum Primärserver verloren hat

    • NumActive   Die Anzahl der aktiven Instanzen eines Event-Handlers. Dies ist nützlich, wenn Sie einen Event-Handler auf jeweils eine Instanz begrenzen möchten.

    • ScheduleName   Der Name des Plans, der zur Auslösung des Ereignisses geführt hat. Wenn das Ereignis manuell mit TRIGGER EVENT oder als Systemereignis ausgelöst wird, gibt das System eine leere Zeichenfolge zurück. Wenn dem Plan beim Erstellen nicht ausdrücklich ein Name zugeordnet wurde, übernimmt er den Namen des Ereignisses.

    • SQLCODE   Der SQLCODE für den Fehler, der während einer fehlgeschlagenen Verbindung aufgetreten ist. Dieser Parameter gilt nur für ConnectFailed-Ereignisse.

    • TableName   Der Name der Tabelle für RemainingValues-Werte

    • User   Die Benutzer-ID des Benutzers, der das ausgelöst hat.

    Außerdem können Sie auf alle gültigen Bedingungsname-Argumente der EVENT_CONDITION-Funktion von der EVENT_PARAMETER-Funktion aus zugreifen.

    Aus der folgenden Tabelle ist ersichtlich, welche Kontextnamen-Werte für welche Systemereignistypen gelten.

    Kontextnamenwert Gültige Systemereignistypen
    AppInfo BackupEnd, "Connect", ConnectFailed, "Disconnect", "RAISERROR", Benutzerereignisse
    ConnectionID BackupEnd, "Connect", "Disconnect", Global Autoincrement, "RAISERROR", Benutzerereignisse
    DisconnectReason "Disconnect"
    EventName all
    Executions all
    NumActive all
    SQLCODE ConnectFailed
    TableName GlobalAutoincrement
    User BackupEnd, "Connect", ConnectFailed, "Disconnect", Global Autoincrement, "RAISERROR", Benutzerereignisse

Rückgabe

VARCHAR

Bemerkungen

Die maximale Größe für Werte, die an ein Ereignis übergeben werden, ist mit der maximalen Seitengröße des Servers begrenzt (-gp Serveroption). Längere Werte werden gekürzt, damit sie unter der maximalen Seitengröße liegen.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

Das folgende Beispiel zeigt, wie ein Zeichenfolgenparameter an ein Ereignis übergeben wird. Das Ereignis zeigt den Zeitpunkt, an dem es ausgelöst wird, im Meldungsfenster des Datenbankservers.

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