我試圖在沒有唯一ID的表上設置索引視圖。它有兩個獨特的標識符,如果組合起來就是唯一的行。我在創建索引視圖所需的唯一聚集索引時遇到了麻煩,當我在MSDN上發現一個線程時,所有人都同意可以爲索引視圖創建2列中的唯一聚簇索引@http://social.msdn.microsoft.com/Forums/en/transactsql/thread/f2c99845-3af1-46e8-9b52-363c24988744索引視圖的兩列上的唯一聚簇索引
但對於我的生活,無法弄清楚如何創建它。我跟這個查詢一起滾動,但它似乎並沒有削減它。
CREATE UNIQUE CLUSTERED INDEX [PK] ON MyView
(
MyId1, MyId2
)
錯誤:
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.MyView' and the index name 'PK'. The duplicate key value is (71cd9b68-1a9e-47bc-bc6b-0008b230a6d8, 0e64aa3a-0631-4caf-82d9-73609ee79b19).
列爲重複兩個ID從MyId2的ID。
那麼,我怎麼能在這裏創建一個獨特的聚集索引?
它是不是一個重複只是在該列中,是重複 – Lamak
運行「由MyId1,MyId2具有COUNT(*)> 1從MyView的組中選擇MyId1,MyId2」 MyId1'的'的結合和'MyId2' 。這將顯示你的重複,因爲你可能不僅僅是所顯示的組合。 SQL在遇到MyId1,MyId2期望的唯一性異常時發生了錯誤。 – Zhenny
爲什麼不直接在桌子上創建索引?你爲什麼需要一個觀點? – Magnus