S
SS2000
Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个触发器,大概如下
REATE TRIGGER [DeleteContract] ON [Contract]
FOR DELETE
AS
Declare @ID int
select @ID=ID From deleted
delete from ContractDetail where ContractID=@ID
当我删除一个合同时,就触发该触发器,把该合同的细节记录一起删除
就是实现级联删除(我的是SQL SERVER7。0,没有直接的级联删除)
在我一个一个合同删除的时候,没有问题,可是我批量删除时,就不行了,
我找了资料,问题出在Select @ID=ID from deleted上,书上说当该Select
语句返回多行时,只把最后一行的数据付给该变量,这样我删除了多个合同,
而实际上只有最后的那个合同的细节被级联删除,其它的都没有删除。
问题是我没有找到解决办法,请大侠帮忙
REATE TRIGGER [DeleteContract] ON [Contract]
FOR DELETE
AS
Declare @ID int
select @ID=ID From deleted
delete from ContractDetail where ContractID=@ID
当我删除一个合同时,就触发该触发器,把该合同的细节记录一起删除
就是实现级联删除(我的是SQL SERVER7。0,没有直接的级联删除)
在我一个一个合同删除的时候,没有问题,可是我批量删除时,就不行了,
我找了资料,问题出在Select @ID=ID from deleted上,书上说当该Select
语句返回多行时,只把最后一行的数据付给该变量,这样我删除了多个合同,
而实际上只有最后的那个合同的细节被级联删除,其它的都没有删除。
问题是我没有找到解决办法,请大侠帮忙