在两个不同的数据库中的两个不同列之间具有外键关系

时间:2012-02-03 11:57:41

标签: sql sql-server-2008r2-express

我有两个数据库A和B.一个表tableA with columnA类似地B有tableB和coulmnB。我可以在这两列之间建立主键,外键关系。 两个数据库都将位于同一个Sql Server 2008 R2实例中。

我使用的是Sql Server 2008 R2 Express Edition。

此外,如果在快递版中没有这个版本,那么它可以在其他版本中使用,例如企业

3 个答案:

答案 0 :(得分:3)

不可能,但您可以通过触发器实现自定义机制

问题是 - 您永远不能说您的备份是一致的

由于使用FOREIGN KEY约束实现的参照完整性可确保在事务结束后您的所有数据都有效且备份始终保持一致。

使用不同的数据库和基于触发器的参考。完整性你永远不能说两个数据库同时备份并处于一致状态。

答案 1 :(得分:1)

在您的方案中,您有2个数据库 - 无法在数据库之间创建FK(即使在同一SQL服务器实例中)。

即使您在一个数据库中拥有这些表,也会导致循环引用。

这会回答你的问题吗?

答案 2 :(得分:1)

根据评论。不,不幸的是你根本不能。

你能让这个表在同一个数据库中使用不同的模式吗?这将允许外键关系。