letzten geänderten Datensatz ermitteln

01/12/2008 - 12:52 von Martin Wendel | Report spam
Hallo SQLer,

habe da ein verzwicktes Problem, ich habe ein Programm das 3 Tabellen auf
dem SQL Server 2005 befüllt
die Schlüsselfelder sin wie folgt:
T1:
- BKSORT NVARCHAR(1)
- BKJAHR DECIMAL(4,0)
- BKNUMM DECIMAL(5,0)

T2:
- BPSORT NVARCHAR(1)
- BPJAHR DECIMAL(4,0)
- BPNUMM DECIMAL(5,0)
- BPZEIL DECIMAL(3,0)

T3:
- BLSORT NVARCHAR(1)
- BLJAHR DECIMAL(4,0)
- BLNUMM DECIMAL(5,0)
- BLZEIL DECIMAL(3,0)
- BLZEII DECIMAL(3,0)

So ist alles wunderbar funktioniert auch alles, die Schwierigkeit liegt
darin das ich per Trigger Steuerung Datensàtze die
- hinzugefügt
- geàndert
wurden auf eine AS/400 weiterschicken muss. Verbindung zur AS/400 ist da
aber ich weis nicht wie ich den zuletz geànderten Satz oder einen neuen Satz
herausfinde im Trigger, da die tolle funktion @@IDENTITY ja leider nicht
funktioniert.

Lange Rede kurzer Sinn hat jemand ne einfache Möglichkeit dies zu ermitteln,
gibts da vielleicht schon vorgefertigte Proceduren von MS?

Ich danke euch vielmals.

Martin


thx
Martin Wendel
 

Lesen sie die antworten

#1 Stefan Hoffmann
01/12/2008 - 13:02 | Warnen spam
hallo Martin,

Martin Wendel schrieb:
Lange Rede kurzer Sinn hat jemand ne einfache Möglichkeit dies zu ermitteln,
gibts da vielleicht schon vorgefertigte Proceduren von MS?


In Triggern stehen die Pseudotabellen inserted und deleted zur Verfügung.

In einem Trigger AFTER INSERT hast du in inserted die neuen Datensàtze.
In einem Trigger AFTER DELETE stehen die gelöschten in deleted.
In einem Trigger AFTER UPDATE hast du in deleted die betroffenen Daten
vor der Änderung und in inserted nach der Änderung.


mfG

Ähnliche fragen