SQL Zelle weise Trigger
-
29-09-2019 - |
Frage
Kann eine bestimmte Zelle weise Trigger erstellt werden?
Oder
IF UPDATE(COLUMN) WHERE OTHER_COLUMN LIKE 'JT'
das Äquivalent in SQL Server 2008?
Bearbeiten nach dem 2. Antwort zu bekommen ---
IF not UPDATE(CurrentNo) --// Wanted to do like this : where series ='JT'
return
IF not EXISTS(SELECT 'True'
FROM Inserted i
JOIN Deleted d ON i.Series = d.Series
WHERE i.Series = 'JT' AND d.Series = 'JT')
return
Scheint ok richtig! Bitte Kommentar.
Lösung
Nein. Es gibt keine Möglichkeit, dies deklarativ zu tun. Sie müßten einen allgemeinen Update-Trigger erstellen und in ihnen Logik sofort zurückzukehren IF NOT UPDATE (column)
Wenn die Spalte von Interesse betrug aktualisiert dann würden Sie die inserted
und deleted
Pseudo-Tabellen abfragen Sie Zeilen Prozess zu ermöglichen, wenn Ihr Zustand Interesse gestoßen wurde.
Andere Tipps
Tiggers werden auf Tabellen angegeben, nicht auf Zeilen, Spalten oder Zellen. Im Inneren des Körpers des Abzugs haben Sie Zugriff auf die Tabellen inserted und deleted haben. Sie können sie miteinander verbinden deterimine die Spalten während einer Aktualisierung geändert wurden. Die Update () Funktion, die ist in SQL Server 2008 (sowie frühere Versionen) ist ein verkürztes Verfahren zur Bestimmung, ob eine Spalte geändert hat.