我现在要级联删除数据,比如表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的,应该就是惹祸的触发器