Announcement

Collapse
No announcement yet.

Kopie von neuen Einträgen per Trigger

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

  • Kopie von neuen Einträgen per Trigger

    Hallo,

    vorab; ich bin recht unbedarft in SQL Programmierung, aber ich hoffe ich kann mir etwas Entwicklungsarbeit sparen, indem ich Funktionen direkt auf der Datenbank ausführe. Hier die Frage:

    Ich habe eine Tabelle, aus der ich jeden neuen Eintrag in eine zweite Tabelle kopieren möchte. Imho sollte das über einen Trigger funktionieren, wie sieht so etwas aus?
    Im zweiten Schritt sollte dann aus dieser kopierten Tabelle, wiederum per Trigger ein Feld stringtechnisch zerlegt werden, und zusammen mit einem zweiten Feld an eine SOAP Schnittstelle übergeben werden.

    d.h.
    Originaltabelle -> Kopie von neuen Zeilen in zweite Tabelle.
    Feld A kann so aussehen: nummer/1 _ nummer/2 _ nummer/3
    oder so: nummer/1
    Feld B enthält: Integer

    An die SOAP Schnittstelle soll nun (nummer/x;Integer) jeweils einzeln übergeben werden. Zusätzlich wäre es schön, wenn diese übergebenen Daten noch in eine dritte Tabelle kopiert werden (zur Überprüfung).

    Ist so etwas möglich? Falls nur der erste Teil geht müsste ich den zweiten extern programmieren, was allerdings den Nachteil hätte, dass ich das externe Programm a la cronjob alle 5 Minuten laufen lassen müsste um die neuen Daten abzuholen. Deshalb wäre es eben eleganter, wenn alles direkt per Trigger passiert...

    Gruss, Lars

  • #2
    Hallo,

    ich würde für den zweiten Schritt wirklich eine eigene Methode schreiben, die zyklisch in der Tabelle nach neuen Einträgen sucht und diese an die SOAP Schnittstelle weiter gibt. Das hat aus meiner Sicht den vorteil, das bei einem Fehler in der SOPA Schnittstelle nicht der Eintrag in deine erste Tabelle gefährdet ist und nebenbei ist es nicht unbedingt einfach eine Fehler zu
    finden, wenn innerhalb von einem Trigger ein neuer Trigger aufgerufen wird.
    Daher mein Vorschlag:
    1) Trigger an Tabelle eins, der deinen Eintrag auf ALLE Tabellen verteilt, also auf die zweite und die dritte Tabelle.
    2) Eine Methode schreiben, die die Daten an die SOAP Schnittstelle liefert. Die würde ich aber auch im SQL-Server schreiben. Du kannst dort auch Jobs erstellen und zyklisch starten. Das können T-SQL Programme sein (performant)
    oder beliebige andere .NET Methoden. Damit ist alles im Server und kein zusätzlichen Cron-Job.

    Viele Grüße,
    Volker

    Comment

    Working...
    X