我的问题是,如何将存储在Log
表中的引用链接到另一个数据库中的一条数据?
我们正在构建一个系统(称为 Fusion),它将为我们所有其他系统执行某些关键任务,其中之一是日志记录。
这个想法是任何其他系统都将能够使用 Fusion 来记录特定操作。
CREATE TABLE [Log]
(
[LogID] [int] IDENTITY(1,1) NOT NULL,
[UserID] [int] NOT NULL,
[LoggedOn] [datetime] NOT NULL,
[ReferenceID] [int] NOT NULL,
[ReferenceLocation] [varchar](250) NOT NULL
)
因此,在上述列的简化表设计中,该ReferenceID
列将存储来自另一个数据库列的外键。所以来自新闻数据库的 StoryID 或来自个人数据库的PersonID 。
然后ReferenceLocation
将存储该列的database.table.column位置ReferenceID
。
想法是可以编写 SQL 查询(使用动态 SQL 或其他方法),以便在Log
查询表时返回每一行的引用数据。
这是这样做的方法吗?有没有更好的办法?我们是否应该重新思考这一努力背后的原因?