我有一个表结构,我不确定如何创建最好的方法。
基本上我有两个表,tblSystemItems 和 tblClientItems。我有第三个表,其中有一列引用“项目”。问题是,此列需要引用系统项或客户端项——哪个都没有关系。系统项目的键在 1..2^31 范围内,而客户端项目的键在 -1..-2^31 范围内,因此永远不会有任何冲突。
每当我查询这些项目时,我都是通过在两个表的内容之间执行 UNION ALL 的视图来完成的。
因此,最佳情况下,我希望将外键引用作为视图的结果,因为视图将始终是两个表的联合 - 同时仍保持 ID 唯一。但我不能这样做,因为我无法引用视图。
现在,我可以删除外键,一切都很好。但是,我真的很想有一些参考检查和级联删除/设置 null 功能。除了触发器,还有什么方法可以做到这一点?