数据库是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)
不过没起作用
请问,到底应该怎么写啊

解决方案 »

  1.   

    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
      

  2.   

    CREATE TRIGGER del_dept_stu ON dbo.Depts 
    FOR DELETE
    AS
        delete from Students  where Students.DeptNo =deleted.DeptNo
      

  3.   

    CREATE TRIGGER del_dept_stu ON dbo.Depts 
    FOR DELETE
    AS
    declare @DpNo char(4)
    select @DpNo=DeptNo from deleteddelete from Students
    where DeptNo=@DpNo
      

  4.   

    TABLE Depts 设主键ID 和 TABLE Students外键ID关联 就可以实现了