Microsoft SQL Server Feld mit Trigger aktualisieren
Ich habe folgendes Problem:
Systemumgebung: Micrsosoft SQL Server 2008 Express mit Management Studio Express, ERP Lösung mit SQL Datenbank
In der ERP Lösung habe ich eine SQL Datenbank "SL_MUFAKT". in der Tabelle "Debitoren" ein Feld "RefAdresse (nvarchar(13))" und ein Feld "_READR (nvarchar(13))"
Bedingt durch die Logik und gewisse Prozesse in der ERP Lösung muss nun in beiden Felder immer der gleiche Wert stehen. Dabei habe ich das Feld "RefAdresse" in der Maske für den Anwender sicht- und editierbar und das Feld "_READR" unsichtbar gemacht.
Nun möchte ich mit einem Trigger automatisch nach jedem aktualisieren oder neuanlegen eines Datensatzes den Wert aus dem Feld "RefAdresse" in das Feld "_READR" schreiben. Sollte im Feld "_READR" bereits ein Wert vorhanden sein, so muss dieser überschrieben werden.
Da ich bisher noch nie einen Trigger gebaut habe bin nich um jegliche Hilfe froh. Ich hoffe, ich habe das Problem einigermassen verständlich Umschrieben.
Vielen Dank
Systemumgebung: Micrsosoft SQL Server 2008 Express mit Management Studio Express, ERP Lösung mit SQL Datenbank
In der ERP Lösung habe ich eine SQL Datenbank "SL_MUFAKT". in der Tabelle "Debitoren" ein Feld "RefAdresse (nvarchar(13))" und ein Feld "_READR (nvarchar(13))"
Bedingt durch die Logik und gewisse Prozesse in der ERP Lösung muss nun in beiden Felder immer der gleiche Wert stehen. Dabei habe ich das Feld "RefAdresse" in der Maske für den Anwender sicht- und editierbar und das Feld "_READR" unsichtbar gemacht.
Nun möchte ich mit einem Trigger automatisch nach jedem aktualisieren oder neuanlegen eines Datensatzes den Wert aus dem Feld "RefAdresse" in das Feld "_READR" schreiben. Sollte im Feld "_READR" bereits ein Wert vorhanden sein, so muss dieser überschrieben werden.
Da ich bisher noch nie einen Trigger gebaut habe bin nich um jegliche Hilfe froh. Ich hoffe, ich habe das Problem einigermassen verständlich Umschrieben.
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 320012
Url: https://administrator.de/forum/microsoft-sql-server-feld-mit-trigger-aktualisieren-320012.html
Ausgedruckt am: 14.04.2025 um 16:04 Uhr
3 Kommentare
Neuester Kommentar
Moin ursus57,
sooo komplex sind Trigger nun auch nicht... die gibt es in jeder Suchmaschine tonnenweise.
Du solltest nur BEVOR du Trigger einbaust, das Feld _READR per UPDATE in der Tabelle auf den gewünschten Synchronstand bringen.
Wenn du e machst, wenn ein UPDATE-Trigger existiert, dann wird _READR doppelt upgedatet.
Sinngemß würde ein simpler Trigge so aussehen:
Ist nur eine ungetestete Skizze!
Also behutsam anpassen und testen.
Grüße
Biber
sooo komplex sind Trigger nun auch nicht... die gibt es in jeder Suchmaschine tonnenweise.
Du solltest nur BEVOR du Trigger einbaust, das Feld _READR per UPDATE in der Tabelle auf den gewünschten Synchronstand bringen.
Wenn du e machst, wenn ein UPDATE-Trigger existiert, dann wird _READR doppelt upgedatet.
Sinngemß würde ein simpler Trigge so aussehen:
CREATE TRIGGER tIU_AddRefAddresse ON SL_MUFAKT.debitoren
AFTER INSERT, UPDATE
AS
UPDATE debitoren d
SET d._READR = d.RefAdresse
FROM Inserted i
WHERE d.Keyfeld1 = i.Keyfeld2 AND d.Keyfeld2 = i.Keyfeld2
- dieser Trigger feuert nach INSERT und UPDATE
- in der Pseudo-Tabelle "inserted" stehen die gerade neu geschriebenen Werte (in einer anderen Tabelle "deleted" die alten, vorherigen Werte)
- ich weiss niocht, wie bei dir die Key-Felder heissen; ich hab mal im Beispiel angenommen, deine debitoren-Tabelle hat "Keyfeld1" und "Keyfeld2" als PK.
Ist nur eine ungetestete Skizze!
Also behutsam anpassen und testen.
Grüße
Biber