学了SQL的大哥,能告诉我怎样用触发器实现两个表间的参照完整性吗?举个例子.
1个回答
2013-07-15
展开全部
我这里有三张表
表1: A_From
字段:Taskid OU_Bit
数据:8162 2
表2: B_From
字段:Taskid Name
数据:8162 张三
表3: C_From
字段:Taskid Code
数据:8162 3000
表1:A_From中的OU_Bit只要更新为2,我就删除表2和表3中对应的Taskid记录(即删除表2和表3中Taskid为8162的所有记录
create trigger t_Temp
on A_From
instead of update
as
begin
declare @bit int,@taskId int
--从临时表中取出更新的数据
select @bit = OU_Bit,@task_id = Taskid from inserted
if @bit = 2
begin
delete B_From where Taskid = @taskId
delete C_From where Taskid = @taskId
end
end
表1: A_From
字段:Taskid OU_Bit
数据:8162 2
表2: B_From
字段:Taskid Name
数据:8162 张三
表3: C_From
字段:Taskid Code
数据:8162 3000
表1:A_From中的OU_Bit只要更新为2,我就删除表2和表3中对应的Taskid记录(即删除表2和表3中Taskid为8162的所有记录
create trigger t_Temp
on A_From
instead of update
as
begin
declare @bit int,@taskId int
--从临时表中取出更新的数据
select @bit = OU_Bit,@task_id = Taskid from inserted
if @bit = 2
begin
delete B_From where Taskid = @taskId
delete C_From where Taskid = @taskId
end
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询