2013-04-05 72 views
0

我在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

回答

4

你將不得不以創建物化(索引),以便能夠添加唯一索引。但是你不能創建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