У меня есть следующая таблица:
CREATE TABLE Budget (
Year Int,
Region varchar(50),
Amount float,
DraftNo int);
GO
INSERT INTO Budget
VALUES
(2018, 'Region1', 500000, 1),
(2018, 'Region2', 400000, 1),
(2018, 'Region3', 300000, 1);
Конечные пользователи будут отправлять данные для года, региона и суммы через форму Excel, которая будет использовать VBA для записи операторов INSERT в таблицу. По умолчанию значение DraftNo будет равно 1, но если в первых двух столбцах (год и регион) уже есть совпадение в таблице, я хочу увеличить значение DraftNo на единицу каждый раз.
Например, если приложение пытается написать:
INSERT INTO Budget VALUES (2018, 'Region1', 600000, 1)
Должен быть преобразован в:
INSERT INTO Budget VALUES (2018, 'Region1', 600000, 2)
Конечно, решение также должно будет распознавать максимальный номер черновика для комбинации Год / Регион и увеличивать еще один оттуда, вместо того, чтобы всегда использовать 2.