我知道sql不支持跨数据库引用完整性,所以最好的方法是什么?我正在考虑将两个数据库组合成单个数据库,除了复杂性的增加,这并不重要.
有什么建议么?
父表和子表位于不同的数据库中.
虽然在这种情况下您不能使用外键,但有解决方法 – 您可以使用包含检查约束的触发器或UDF.无论哪种方式,您的数据完整性都不完全是水密的:如果与父表的数据库崩溃,并从备份恢复,您可能会很容易地遇到孤儿.
父子关系是由触发器强制执行的.
触发器不触发时,有以下几种情况,如:
·桌子被丢弃
·表被截断.
·嵌套和/或递归触发器的设置可防止触发器触发.
触发器也可能不正确.无论哪种方式,您的数据库中都可能会有孤儿.