主从表用触发器删除出错,请教各位大侠

来源:互联网  时间:2016/8/16 5:15:37

关于网友提出的“ 主从表用触发器删除出错,请教各位大侠”问题疑问,本网通过在网上对“ 主从表用触发器删除出错,请教各位大侠”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 主从表用触发器删除出错,请教各位大侠
描述:

小弟在mssql中一主从表
主表中有一触发器:
CREATE TRIGGER del_child_table ON [dbo].[Month_Check_C] 
FOR  DELETE 
as
 delete  Month_Check_C1  from (select nos,id from deleted ) as a 
 where  Month_Check_C1.sub_id=a.id 
在後台删除主表记录OK
在delphi前台用如下删除出错:
tparent_qu.Delete;
tparent_qu.UpdateBatch();
错误如下:
key information is insufficient or incorrent.too many rows were
affected by update


解决方案1:

应该是触发器出的错,你都可以先把触发器去掉试验下。
在触发器中先SELECT 出主表关连从表的字段,在删除子表。

解决方案2:

CREATE TRIGGER del_child_table ON [dbo].[Month_Check_C] 
FOR  DELETE 
as
 delete  Month_Check_C1   where  sub_id=(select id from deleted)
试试!
>>>>> 你的代码: (select nos,id from deleted ) as a  有错!

解决方案3:

这种情况根本就不用触发器
在子表加个外键就搞定!

解决方案4:

顶一下,

解决方案5:

缺少主键,出现了重复记录

上一篇在原来表字段a,字段b 的基础上 动态的添加字段c c的结果等于a-b
下一篇为什么存储过程执行SQL时报错?
明星图片
相关文章
《 主从表用触发器删除出错,请教各位大侠》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)