我创建了一个表
student
,我想创建一个触发器来停止向任何学生添加6岁以上的教师ID。
教师ID在6岁以后的学生,所以每5个学生只有一个教师。
student
表中的教师ID是一个外键,所以我可以在学生表中重复5次。
5次,当我插入6次时......不同意,我试着用这个代码,但它不起作用。
student
表看起来像这样。
CREATE TABLE student
s_id int PRIMARY key,
s_name varchar(50) ,
birthday date ,
t_id int
和触发器。
CREATE TRIGGER tr_student
on student
DECLARE
@count int,
@s_id int,
@s_name nvarchar(50),
@birthdate date,
@t_id int
Begin
select @s_id = i.s_id from inserted i;
select @s_name = i.s_name from inserted i;
select @birthdate = i.birthday from inserted i;
select @t_id = i.t_id from inserted i;
Select count(*) t_id
From student
Where @count = t_id
If @count < 6
Insert into student(s_id, s_name, birthday, t_id)
values(@s_id, @s_name, @birthdate, @count)
PRINT 'AFTER INSERT trigger fired'