日期:2014-05-18  浏览次数:20342 次

菜鸟求救,触发器级联删除问题
我现在要级联删除数据,比如表1是公司表company   表2是员工表person
company person
id           depart p_number                 id         name       depart_id
1             软件部     2 1 张三       1
2             财务部     0 2 李四       1

例如张三和李四都是软件部的
我想在删除部门的时候   把部门里面的员工都删除掉,每次执行时,部门人数1人时,正常删除,在两个人以上   就都报下面的错:
“异常详细信息:   System.Data.SqlClient.SqlException:   子查询返回的值多于一个。当子查询跟随在  

=、!=、 <、 <=、> 、> =   之后,或子查询用作表达式时,这种情况是不允许的。语句已终止。”
触发器里面是这样的:
CREATE   TRIGGER   Del_depart   ON   dbo.company  
FOR   DELETE
AS
delete   from   person   where     departmentnumber     in(select     id     from   deleted)
我试过设定外键约束后,用2000的级联删除功能,效果和使用这个触发器一样的,都是两人以上不能删除
请问触发器怎么写,可以同时删除多人呢,哪位大虾帮帮我啊

------解决方案--------------------
CREATE TRIGGER Del_depart ON dbo.company
FOR DELETE
AS
delete person 去掉from
where departmentnumber in(select id from deleted)
------解决方案--------------------
那个叫做number的,应该就是惹祸的触发器