create trigger trg_test on 学生表 for delete as begin if eixsts (select 1 from 选课表 where id in(select id from deleted)) begin print '有记录' roll back end end
不用触发器也可以呀,删除的时候直接判断就行呀,用触发器不便于维护。declare @id int set @id=1if eixsts (select 1 from 选课表 where id =@id) begin print '有记录' roll back end else begin delete from 学生表 where id=@id end
for delete
as
begin
if eixsts (select 1 from 选课表 where id in(select id from deleted))
begin
print '有记录'
roll back
end
end
alter table 选课表
add constratint fk_xk foreign key(学号)
references 学生表 (学号);
set @id=1if eixsts (select 1 from 选课表 where id =@id)
begin
print '有记录'
roll back
end else
begin
delete from 学生表 where id=@id
end