i have the following trigger:
INSTEAD OF UPDATE
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO [BUCHUNG] (BOOKUID, BOOKVERNR, BUCHUNGSART_ID, VERANSTALTER, PERSONAL_ID,
OPTIONSNUMMER, BUCHUNGSSTATUS, PERSONENZAHL, SERIE, THEMA, STORNO, UPDATE_DATE, UPDATE_USER, BEMERKUNG, V_EMAIL, V_TELEFON,
KOSTENSTELLE, SERIENBOOKUID, THEMA_ENABLED, ABTEILUNG, LIEFERRAUM, ABRECHNUNG, KSTR, RECHKONTO, RECHDST, URSPRUNG_ORIGINAL, ORIGINAL_ID)
SELECT i.BOOKUID, '0', i.BUCHUNGSART_ID, i.VERANSTALTER, i.PERSONAL_ID,
i.OPTIONSNUMMER, i.BUCHUNGSSTATUS, i.PERSONENZAHL, i.SERIE, i.THEMA, i.STORNO, GETDATE(), i.UPDATE_USER, i.BEMERKUNG, i.V_EMAIL, i.V_TELEFON,
i.KOSTENSTELLE, i.SERIENBOOKUID, i.THEMA_ENABLED, i.ABTEILUNG, i.LIEFERRAUM, i.ABRECHNUNG, i.KSTR, i.RECHKONTO, i.RECHDST, i.URSPRUNG_ORIGINAL,
i.ORIGINAL_ID
FROM INSERTED i
JOIN DELETED d ON i.ID = d.ID
WHERE i.BOOKVERNR <> d.BOOKVERNR
IF UPDATE (BOOKVERNR)
UPDATE b
SET BOOKVERNR = i.BOOKVERNR
FROM BUCHUNG b
JOIN INSERTED i ON i.ID = b.ID
SET NOCOUNT OFF;
END
The Trigger copies an entire row with a new ID if a change in the original row happens. So far it works fine.
But something is going wrong, because PERSONENZAHL_EXTERN and RECHKST is not correct.
The first row is the old row. The second row is the inserted row. I don’t know what is wrong. Maybe you can help me with that.
Thanks in advance

Your insert statement is simply missing those two columns. Add them and you will have your values.