26. November 201015 j Hallo ich bin gerade dabei mich mit der Thematik Trigger zu beschäftigen und haben diesen Trigger hier geschrieben: ALTER TRIGGER freimachenBS ON dbo.fachdetail after UPDATE AS DECLARE @FACHID as int SET @FACHID = (SELECT Fachid FROM inserted) IF (SELECT count(*) FROM fachdetail WHERE FACHID = @FACHID AND auftrag_erledigt = 0) = 0 BEGIN UPDATE dbo.fachdefi SET belegstatus = 0 WHERE ID = @FACHID END allerdings bekomme ich die Fehler meldung das wenn ein =/</.././... vorhanden ist das ich dann nicht mehrere Ergebnise bekommen darf. Kann mir einer sagen wo der Fehler liegt? Ich vermute mal da ich das count noch nicht richtig verstanden habe. Erreichen möchte ich hiermit das ich die Fachid aus der Tabelle fachdetail mit den Fachid's vergleiche und sofern kein Eintrag vorhanden ist soll er in der tabelle fachdefi den Eintrag belegstatus auf 0 setzen an der Stelle wo die ID = die der Fachid ist.
29. November 201015 j easy_auftragsnr=169077 and easy_auf_lfdnr=1 ist in deinem Fall nicht eindeutig. Es werden mehrere Zeilen aktualisiert. In der Folge kommt es in deinem Trigger zu einem Problem, weil der Integervariable @FACHID gleich mehrere Werte zugewiesen werden sollen. Goos
1. Dezember 201015 j Im inserted? Ich versteh deine Frage nicht wirklich. Falls du aber bei deinem Update eigentlich immer nur einen Datensatz erwischen wolltest, dann solltest du dein Update erstmal richtigstellen. Ob es gut ist, für Deine Logik einen Trigger einzusetzen ist im übrigen anzuzweifeln. Goos
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.