SQL Server视图主键

6
有没有办法在SQL Server中给视图一个主键?我知道在Oracle中是可能的。
我不关心更新,这只是一个只读视图,但其他人正在使用它在MS Access中,所以我希望正确的约束条件能够显示出来。
3个回答

11

是的,你可以创建一个索引视图,必须拥有主键。请注意,这将会将视图数据保留到磁盘上,这可能不是你想要的。

此外,创建索引视图也会对性能产生影响,无论是正面还是负面的。在实施之前,请仔细阅读相关的优缺点和限制。


0
在MS Access中,您可以使用SQL语句在链接视图上创建主键:
ALTER TABLE [TableName] ADD CONSTRAINT [PrimaryKeyName] PRIMARY KEY ([FieldName1, FieldName2, ...])

话虽如此,使用索引视图是更好的解决方案。


0

索引视图是正确的选择,但像RedFilter所说的主键实际上并不是必需的。尽管有许多要求会强制你拥有聚集索引。


创建的第一个索引必须是唯一聚簇索引 - 这可能就是RedFilter所说的主键? - Chris Diver
我相信这就是他的意思,但可能会让人感到困惑。如果我能添加注释,我会通过注释而不是回答来指出它。 - user404463

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接