У меня есть этот запрос в хранимой процедуре:
INSERT INTO Checklist (AuditID, QType, Question, QNmbr, QID, ANmbr)
SELECT @AuditID, @QType, Question, displayorder AS QNmbr, id AS QID, 0 AS ANmbr
FROM Questions
WHERE Q_type = @QType
Существует ограничение первичного ключа для таблицы контрольных списков (AuditID, QType, QNmbr, ANmbr
)
В таблице вопросов есть несколько записей с одинаковым displayOrder в таблице вопросов для немногих из Questions.Q_type
, что приводит к сбою вставки. Только один из них (любой, но желательно ТОП-1) должен попасть в таблицу контрольных списков.
Есть ли способ, чтобы запрос мог пропустить ограничения и вставить остальные записи. Или я могу изменить свое предложение select в insert? Я тоже пытался безуспешно. SELECT извлекает более одной записи, вероятно, для одного и того же displayOrder в таблице вопросов, и может попытаться вставить их сразу.