Hallo zusammen,
bin neu hier und hab gleich mal ne Frage oder besser gesagt ein Problem!
Wäre super wenn mir jemand helfen könnte...
Ich habe einen Datenbanktrigger für eine Tabelle auf einem MS SQL Server geschrieben. Dieser Trigger soll bei einem Insert Befehl auf eine bestimmt Tabelle ein Feld in einer anderen Tabelle mit einem Wert aktualisieren.
Hier mal mein Code:
CREATE TRIGGER trigg_kontID_anlegen
ON <Datenbank>
FOR INSERT
AS
DECLARE @highestId int
DECLARE @accIdInserted VARCHAR(255)
DECLARE @idNew int
SELECT @highestId = (SELECT MAX(New_contactid) FROM ContactExtensionBase)
PRINT @highestId
SELECT @accIdInserted = (SELECT ContactId FROM Inserted)
PRINT @accIdInserted
SELECT @accIdInserted = '{'+@accIdInserted +'}'
PRINT @accIdInserted
SELECT @idNew = @highestId +1
PRINT @idNew
Update ContactExtensionBase SET New_contactid = @idNew WHERE ContactId = (@accIdInserted)
Habe über den QueryAnalyzer die Werte geprüft...das lesen des höchsten Wertes klappt, das ermitteln der AccountId und schreiben in die entsprechende Variable klappt etc....aber er schreibt den Wert nicht in die Tabelle! Ersetze ich aber in der WHERE Klausel die Variable durch einen fixen Wert in der Form wie er auch in der DB vorkommt dann klappt es...hat jemand ne Idee woran das liegen könnte? Wäre super weiß langsam net mehr weiter...
Hoffe ist einigermaßen verständlich geschildert das Problem
schon mal danke im Voraus
fresh-toddo