Am mit zwei Tischen wie Studenten und StudentHistory in SQL Server, wenn eine Änderung der Studenten Tabelle passieren, dass Auslöser sollte StudentHistory Tabelle aktualisieren.Wie führe ich einen TRIGGER in MSSQl aus?
Tables:
CREATE TABLE Student (
Id int,
Name varchar(20),
Dept varchar(10),
Age int,
Cratedby int,
CreatedTime datetime,
Modeifideby int,
ModifiedTime datetime,
Flag varchar(5)
)
History-Tabelle,
CREATE TABLE StudentHistory (
Id int,
Actiontaken varchar(50),
ActionTime dateTime,
Cratedby int,
)
Trigger
CREATE TRIGGER wsrd.tr_Student on
wsrd.Student
AFTER INSERT
AS
insert into wsrd.StudentHistory
(Actiontaken,ActionTime,Cratedby)
(SELECT concat('Inserted-',i.id),i.CreatedTime,i.Cratedby from wsrd.Student s, inserted i where s.id=i.Id);
GO
Die Bedingung ist,
- Trigger sollte nur ausgeführt werden, wenn Spalte Modifideby, ModifiedTime und Flag in der Student-Tabelle eingefügt wird.
- Wenn ID, Name, Abteilung, Alter, CreatedTime und Flag eingefügt sind, bedeutet dies, dass der Trigger nicht ausgeführt werden soll.
Wie kann dies erreicht werden?
MySQL oder SQL Server? – user8527410
eingefügt oder aktualisiert? Oder beides? Was ist mit gelöscht? – HoneyBadger
Hausaufgaben, und Sie möchten, dass wir es für Sie tun ... Zeigen Sie uns zumindest Ihren aktuellen Codeversuch. – jarlh