Hallo,
wahrscheinlich stell ich mich einfach nur zu doof an, ich bin nämlich auch erst am Anfang meines Datenbankwissens
Folgendes Problem.
Ich habe eine Tabelle "Daten" (D_ID, Bezeichnung)
und ich habe eine Tabelle "Details" (Det_ID, D_ID, z1, z2, z3)
und dazu identisch eine Tabelle "Backup" (B_ID, Det_ID, D_ID, z1, z2, z3)
Jetzt wollte ich über einen Update trigger steuern, das wenn sich in "Daten" was ändert, alle Zeilen aus Details wo D_ID gleich dem geänderten Datensatz entspricht nach "Backup" kopiert werden.
Eigentlich müsste folgendes doch gehen, oder :
Declare @temp_id int
begin
Aber es funktioniert nicht !
Und ich hab keine Ahnung warum nicht.
Die Variable bekommt den richtigen Wert.
Ein "INSERT INTO Backup (D_ID) Values (temp_id);" funktioniert ...
Was überseh ich, was mache ich falsch?
Vielen dank im Voraus!
wahrscheinlich stell ich mich einfach nur zu doof an, ich bin nämlich auch erst am Anfang meines Datenbankwissens
Folgendes Problem.
Ich habe eine Tabelle "Daten" (D_ID, Bezeichnung)
und ich habe eine Tabelle "Details" (Det_ID, D_ID, z1, z2, z3)
und dazu identisch eine Tabelle "Backup" (B_ID, Det_ID, D_ID, z1, z2, z3)
Jetzt wollte ich über einen Update trigger steuern, das wenn sich in "Daten" was ändert, alle Zeilen aus Details wo D_ID gleich dem geänderten Datensatz entspricht nach "Backup" kopiert werden.
Eigentlich müsste folgendes doch gehen, oder :
Declare @temp_id int
begin
select @temp_id =INSERTED.D_ID from INSERTED
INSERT INTO Backup (D_ID, z1,z2,z3) SELECT D_ID, z1,z2,z3 from Details WHERE D_ID=@temp_id;
endAber es funktioniert nicht !
Und ich hab keine Ahnung warum nicht.
Die Variable bekommt den richtigen Wert.
Ein "INSERT INTO Backup (D_ID) Values (temp_id);" funktioniert ...
Was überseh ich, was mache ich falsch?
Vielen dank im Voraus!