我知道在 MSSQL 中,当您将触发器加载到表上时,您可以访问要操作的记录的“缓存表”(更新、插入、删除)。
是否有类似的机制可以从 Access 中使用?如果不是,如果我想从基表强制执行 1:1-M 到连接表,我该怎么做?
尝试使用他们的“哦,太有用了”的关系模式,但由于我找不到我设置和索引的 PK 的“唯一”索引,我不能使用 Enforce Integrity 的涓滴删除部分。有没有看到“很少”,这对我来说似乎很常见,“不确定”的关系状态。
设计
表1(基表):
领域:
- 吉德
- 纳米
- (更多领域)
索引:
- gid + nm(唯一标识 - gid 不是自动编号)
- 吉德
表2(连接表):
领域:
- 吉德
- cid
- (更多领域)
索引:
- gid + cid(唯一标识)
- 吉德
- cid
触发思路:
删除(BeforeDelete 触发器)
- 如果(table1.gid 被删除)那么
Delete * From Table2 Where gid=delete.id
delete
缓存表在哪里
- 继续验证,直到所有表都已正确更新/删除基表中的 gid 条目
编辑 2012-09-04 @ 12:20pm
好的,这是我现在拥有的数据宏,它可能在语法上很草率,但到目前为止我从在线阅读中推断出的内容。使用这种格式时,有什么我应该注意或期望的吗?是的,deletegroup
是在模块中发布的全局方法。
最终用户将使用运行时访问,运行时环境与完整版本是否应该以任何方式阻碍此触发器?