Вы можете использовать TOP при вставке, обновлении и удалении, чтобы обеспечить количество затронутых строк. Здесь нет исключений.
declare @T table (id int)
insert top(1) into @T values
(1),
(2),
(3)
Если вы хотите исключение, вы можете использовать @@ROWCOUNT
в транзакции.
declare @Min int = 2
declare @Max int = 3
begin transaction
insert into Table1 values
(1),
(2),
(3),
(4)
if not @@rowcount between @Min and @Max
begin
rollback
-- Throw exception here, RAISERROR()
end
else
begin
commit
end