Hallo,
habe den Trigger jetzt hinbekommen und festgestellt:
das geht ja gar nicht...
ein trigger der auf ein insert reagiert und dann ein insert auf diese tabelle macht = super rekursion... :)
trotzdem danke
viele grüße
horst
Hallo, Horst,
also Deine Anforderung ist fuer mich auf den ersten Blick etwas esoterisch und ich kenne nur den MSSQL Server in verschiedenen Versionen, aber:
Was Du tun solltest ist natuerlich einen "Insert"-Trigger schreiben; die Syntax koennte beim gen. DB(M)S wie foilgt aussehen:create trigger
trg_selfhtml
on
table_selfhtml
for insert -- for insert, update
as
begin
declare
@x int,
@y int,
@z int
set
@x = (select y from Inserted) -- Inserted ist eine "logische" Tabelle, die "insertede" Datensaetze enthaelt
set
@y = (select x from inserted)
set
@z = (select z from inserted)
set
@ID = (select [ID] from inserted) -- Du solltest immer Eindeutigkeiten bilden, damit Datensaetze bearbeitet werden koennen. Ein DF "ID" benoegtigt "man" schon.
update
table_selfhtml
set
x = @x,
y = @y,
z = @z
where
([ID] = @ID)
endich habe eine Tabelle test mit den Spalten s1,s2,s3.
Jetzt möchte ich gerne einen Trigger schreiben der folgendes tut:
wenn z.B. die Werte (1,2,3) in die Tabelle geschreiben werden,
soll auch (vom Trigger ausgelöst) (2,1,3) in der Tabelle stehen.
Also soll jedesmal wenn x,y,z in die Tabelle geschrieben wird, auch
y,z,x reingeschrieben/überschrieben werden.Du keonnetest bei komplexeren Operationen auch ("unter" MSSQL Server) in Triggern mit Transaktionen arbeiten (begin tran..commit tran..rollback tran).
Gruss,
Lude