zardock Geschrieben 26. November 2010 Teilen Geschrieben 26. November 2010 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 29. November 2010 Teilen Geschrieben 29. November 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zardock Geschrieben 1. Dezember 2010 Autor Teilen Geschrieben 1. Dezember 2010 kann ich den dort ein Where befehl im inserted machen um es genau zu bekommen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 1. Dezember 2010 Teilen Geschrieben 1. Dezember 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.