将主键添加到SQL视图

问题描述:

我在SQL Server数据库中创建了一个视图,该视图只是两个表的联接。将主键添加到SQL视图

有没有什么办法可以在这个视图的行中插入一个唯一的主键......或者我不知道如何指定一个列名作为主键......任何想法?

感谢

+0

什么样的关键?你可以使用'row_number()'为每一行生成一个唯一的编号。 – Taryn 2013-04-05 14:36:35

+1

,因为它取决于两个连接表的内容,并不是真的。您可以根据这些表的内容创建唯一标识符(concat two id) – Najzero 2013-04-05 14:36:59

+0

可以是任何类型......只是一个整数将会执行的操作。 – thegunner 2013-04-05 14:38:04

你将不得不以创建物化(索引),以便能够添加唯一索引。但是你不能创建PK约束。

CREATE VIEW v_test 
WITH SCHEMABINDING --optional 
AS 
    SELECT id from table 

GO 

CREATE UNIQUE CLUSTERED INDEX idx_id 
    ON v_test (id) 
GO 
+0

我尝试相同,但实际表的主键不能用作主键对象视图表。 – 2017-08-30 10:36:42