注册 登录
编程论坛 SQL Server论坛

建触发器的问题

今贝王元 发布于 2006-11-22 12:59, 549 次点击

现在有
表1:职工
列名包括:职工号,姓名
职工号是主键

表2:仓库
列名:仓库号,职工号
职工号是表职工的外键

表3:工资
列名:职工号,工资
职工号是表职工的外键


现在我想建一个触发器,当删除表1里任何一个职工信息时,对同进把表2,表3里关于这个职工的信息全删掉,但是我做的时候,系统会说无法删除,正被其它表引用(我认为是外键的存在),想问下大家该如何去实现这个

5 回复
#2
angeloc2006-11-22 14:24
先删除外键的信息,后删主键的
#3
LouisXIV2006-11-22 17:02
你外键的从属关系反了
#4
bygg2006-11-22 21:13
以下是引用angeloc在2006-11-22 14:24:10的发言:
先删除外键的信息,后删主键的

#5
pity11152006-11-23 12:44
create trigger 表1_delete on 表1
instead of delete
as
declare @sid varchar(10)
set @sid= (select 职工号 from deleted)
delete from 表2 where 职工号 =@sid
delete from 表3 where 职工号 =@sid
delete from 表1 where 职工号 =@sid
#6
sunfly8132006-11-23 19:36

呵呵,多谢,我也正在学习触发器呢~

1