求一个删除记录的触发器

cxfeb 2007-05-31 12:21:43
数据库是sql2000
下面是创建的两个表
CREATE TABLE Depts
(
DeptNo CHAR(4) PRIMARY KEY,
DeptName CHAR(20),
);

CREATE TABLE Students
(
Sno CHAR(10) PRIMARY KEY,
Sname CHAR(16),
DeptNo CHAR(4),
StartDate DATETIME,
CreditHours INT,
CONSTRAINT Student_dept FOREIGN KEY(DeptNo) REFERENCES Depts,
);

我想要创建一个触发器,使我删除Depts的记录时,同时删除Students中的相应DeptNo的记录
我写了一个
CREATE TRIGGER del_dept_stu ON dbo.Depts
FOR DELETE
AS
delete from Students where Students.DeptNo in (select DeptNo from deleted)
不过没起作用
请问,到底应该怎么写啊
...全文
199 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxfeb 2007-05-31
  • 打赏
  • 举报
回复
都不行啊,究竟哪里不对啊
pfa2008 2007-05-31
  • 打赏
  • 举报
回复
CREATE TRIGGER del_dept_stu ON dbo.Depts
FOR DELETE
AS
declare @DpNo char(4)
select @DpNo=DeptNo from deleted

delete from Students
where DeptNo=@DpNo
lb218 2007-05-31
  • 打赏
  • 举报
回复
CREATE TRIGGER del_dept_stu ON dbo.Depts
FOR DELETE
AS
delete from Students where Students.DeptNo =deleted.DeptNo
li_d_s 2007-05-31
  • 打赏
  • 举报
回复
CREATE TRIGGER del_dept_stu ON dbo.Depts
FOR DELETE
AS
declare @deptno char(4)
begin
select @deptno = DeptNo from deleted
delete from Students where DeptNo = @deptno
end
go
javabeginner2006 2007-05-31
  • 打赏
  • 举报
回复
建议不要用触发器.明明可以手写代码删除的嘛.
handong890 2007-05-31
  • 打赏
  • 举报
回复
TABLE Depts 设主键ID 和 TABLE Students外键ID关联 就可以实现了
handong890 2007-05-31
  • 打赏
  • 举报
回复
建议主键 外键约束
cxfeb 2007-05-31
  • 打赏
  • 举报
回复
还是删出失败拉

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧