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表删除,则正常。明细表相关记录也被删除。
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表删除,则正常。明细表相关记录也被删除。
Create trigger OnDeleteAction On dbo.A_Action
for Delete
As
Delete A_ActionSub
From A_ActionSub br , Delted d
Where br.Account=d.Account
不行不要骂我啊~~~嘿嘿,随便写写的~~~
2.不仅仅是DBGrid, DBGridEh, cxGrid也一样。
1.你的记录里有二条以上是一样的,所触发器不知去删除哪条