Am ayant deux tables comme étudiants et StudentHistory dans SQL Server, si un changement se produit dans le tableau étudiant que Trigger devrait mettre à jour StudentHistory table.Comment exécuter un TRIGGER dans MSSQl?
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)
)
table Histoire,
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
La condition est,
- Le déclencheur ne devrait être exécuté que si les colonnes Modeifideby, ModifiedTime et Flag sont insérées dans la table Étudiant.
- Si Id, Nom, Dept, age, CreatedTime et Flag signifient que le trigger ne doit pas être exécuté.
Comment y parvenir?
MySQL ou SQL Server? – user8527410
inséré ou mis à jour? Ou les deux? Qu'en est-il supprimé? – HoneyBadger
Travail à domicile, et vous voulez que nous le fassions pour vous ... Au moins nous montrer votre tentative de code actuelle. – jarlh