Na unikátní indexu se dá povolit ignore_dup_key. Použití je v příkazu insert. Pokud se bude náhodou vkládat stejný unikátní klíč, který už existuje, tak se nezobrazí chyba a ani k ní nedojde. Místo ní se jen insert vynechá. Příklad:

1
2
3
4
5
6
7
8
9
10
DECLARE @foo TABLE  (
	col INT NOT NULL PRIMARY KEY WITH (IGNORE_DUP_KEY = ON),
	col1 CHAR(1)
)
 
INSERT INTO @foo VALUES(1, 'a')
INSERT INTO @foo VALUES(2, 'b')
INSERT INTO @foo VALUES(1, 'c')
 
SELECT col, col1 FROM @foo

vrátí:

1
2
3
4
5
6
7
8
9
10
11
(1 row(s) affected)
 
(1 row(s) affected)
 
Duplicate key was ignored.
(0 row(s) affected)
 
col         col1
----------- ----
1           a
2           b
Share