Как синтаксис использовать ignore_dup_key? - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь игнорировать дубликаты, когда я вставляю строки в таблицу отношений "многие ко многим", но все примеры, которые я нахожу, - это изменение ключа в таблице.

Я хотел бы знать, есть ли способ установить это только для вставок, которые я хочу сделать, что-то вроде этого:

insert into Table(IDA, IDB) VALUES(1,2) ignore_dup_key = ON; 

Спасибо.

Ответы [ 2 ]

1 голос
/ 31 мая 2019

Я только что отредактировал этот ответ после @Alvaro Garcia Comment

insert into Table(IDA, IDB) 
SELECT T.IDA, T.IDB 
FROM (SELECT 1 as IDA, 2 as IDB) T
LEFT JOIN Table T2 ON T.IDA = T2.IDA AND T.IDB = T2.IDB
WHERE T2.IDA is null

прежде чем я просто проверял существование и затем вставлял.

1 голос
/ 31 мая 2019

"ignore_dup_key = ON" - это свойство, которое вы определяете при создании индекса. Это не подсказка запроса.

CREATE UNIQUE NONCLUSTERED INDEX ix_table 
    ON dbo.Table (KeyColumn)
    WITH (IGNORE_DUP_KEY = ON) ON [PRIMARY];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...