读书人

初学者求救触发器级联删除有关问题

发布时间: 2012-02-20 21:18:23 作者: rapoo

菜鸟求救,触发器级联删除问题
我现在要级联删除数据,比如表1是公司表company 表2是员工表person
companyperson
id departp_number id name depart_id
1 软件部 21张三 1
2 财务部 02李四 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的,应该就是惹祸的触发器

读书人网 >SQL Server

热点推荐