CREATE TRIGGER OnDeleteAction ON dbo.A_Action
FOR DELETE
AS
  delete from A_ActionSub where Account=(Select Account from Deleted)OnDeleteAction:触发器名,当删除 A_Action 表记录时触发
A_Action: 物流主表
A_ActionSub:物流明细表
Account: 流水号(主表唯一值), 明细表以它和主表对应
DBGrid列出主表记录,然后选择其中一条,按CTRL+Del删除,报错:
  "键列信息不足,更新影响到多行。" 打开SQLSERVER查询分析器,打开A_Action表,按Ctrl+Del表删除,则正常。明细表相关记录也被删除。

解决方案 »

  1.   

    DBGrid用起来总觉得有些问题的,期待正解
      

  2.   

    把你的触发器改成这样试试看,
        Create trigger OnDeleteAction On dbo.A_Action   
        for Delete    
        As
          Delete A_ActionSub 
            From A_ActionSub br , Delted d
            Where br.Account=d.Account
    不行不要骂我啊~~~嘿嘿,随便写写的~~~
      

  3.   

    1.没有完全相同的记录,至少都有一自动编号的字段
    2.不仅仅是DBGrid, DBGridEh, cxGrid也一样。
      

  4.   

    同意:138075(yyh)
    1.你的记录里有二条以上是一样的,所触发器不知去删除哪条
      

  5.   

    ID --- int --- 主键(自动编号的)何来完全重复记录?