У меня есть таблица с первичным ключом и хранимая процедура, которую я использую для вставки в эту таблицу.Я не контролирую хранимую процедуру и не могу ее изменить.Иногда процедура возвращает много записей и 1 запись со значением NULL для столбца первичного ключа.В настоящий момент не удается вставить весь пакет новых строк.
Как настроить сбой кода или таблицы только на 1 строке со значением NULL, но разрешить вставку других строк?
Вот код теста:
IF OBJECT_ID('tempdb..#tbl') IS NOT NULL
DROP TABLE #tbl
CREATE TABLE #tbl (
col INT NOT NULL,
CONSTRAINT PK_tbl PRIMARY KEY (col ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = ON, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
SET XACT_ABORT OFF
--Imagine this is the procedure that cannot be edited
insert into #tbl (col) values
(null), (1), (2)
--Ideally, the table would have 1 and 2
select * from #tbl