将主键添加到SQL视图
问题描述:
我在SQL Server数据库中创建了一个视图,该视图只是两个表的联接。将主键添加到SQL视图
有没有什么办法可以在这个视图的行中插入一个唯一的主键......或者我不知道如何指定一个列名作为主键......任何想法?
感谢
答
你将不得不以创建物化(索引),以便能够添加唯一索引。但是你不能创建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
什么样的关键?你可以使用'row_number()'为每一行生成一个唯一的编号。 – Taryn 2013-04-05 14:36:35
,因为它取决于两个连接表的内容,并不是真的。您可以根据这些表的内容创建唯一标识符(concat two id) – Najzero 2013-04-05 14:36:59
可以是任何类型......只是一个整数将会执行的操作。 – thegunner 2013-04-05 14:38:04