是否有一種快速檢查Microsoft SQL Server Management Studio中給定值是否唯一的函數?不包括以下各項:檢查t-sql中的值是否唯一的最佳方法
DECLARE @username VARCHAR(45)
SET @username = 'foo'
DECLARE @checkTable INT
-- finds how many rows contain 'foo'
SET @checkTable = (SELECT COUNT(1)
FROM table1 AS t
WHERE t.username = @username)
IF @checkTable = 0
-- Unique!
如果你有一個大表,這似乎是這將是昂貴的。我需要允許用戶在保持唯一的同時更改他/她的現有用戶名。
感謝
是表索引的'username'? – HABO
@HABO不,它不是。它被編入索引編號 –
你究竟在這裏檢查什麼?當然,它應該是'IF @checkTable = 1'來檢查唯一性(即只有一個現有的行具有該值)。還是你檢查目前沒有匹配的行?在這種情況下,您應該使用唯一的約束來強制執行此操作,並且支持索引將使其成爲高效查找。 –