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)
end
ich 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