Announcement

Collapse
No announcement yet.

Trigger

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Trigger

    Hallo zusammen,

    ich möchte Trigger in mehreren Datenbanken einsetzen, die bei entsprechenden Ereignissen Informationen in ein und dieselbe Log-Tabelle schreiben sollen. Dazu muss ich unterscheiden, welche Tabelle aus welcher Datenbank(Connection) das Ereignis augelöst hat.

    Gibt es eine Möglichkeit die Tabelle und die Connection zu ermitteln, die dieses Ereignis ausgelöst hat? Gibt es weiter eine Möglichkeit auf den auslösenden Trigger selbst Bezug zu nehmen, um einige Informationen in meine Log-Tabelle zu schreiben.

    Ich verwende script-container mit SQL-Statements.

    Ich würde mich freuen, wenn jemand einen Lösungsansatz für mich hat.

    Gruß Peter.

  • #2
    database() gibt den Verbindungspfad des Clients.
    Ab V10 gibt ::stmt.TrigTableName den Namen der Tabelle, die den Trigger ausgelöst hat, ::stmt.TrigRowId die eindeutige ID des auslösenden Datensatzes, ::stmt.TrigName den Namen des Triggers, ::stmt.TrigEventType das Ereignis, ::stmt.TrigType den Trigger-Typen.
    Einfach mal die Hilfe nach 'System Variables' und 'Scalar Functions Supported' durchsuchen.
    Zuletzt editiert von Joachim Dürr; 01.12.2010, 11:45. Reason: typo

    Comment


    • #3
      Hallo Herr Dürr,

      vielen Dank für die schnelle Antwort. Genau das ist es.

      Comment


      • #4
        Hallo Peter,

        um nicht das Rad neu erfinden zu müssen, könntest du dir auch unseren ADS LogManager ansehen.

        http://www.upscene.com/products.audit.adslm_main.php

        Thomas
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment

        Working...
        X