Предполагая, что вы можете параметризовать свой запрос (как в хранимой процедуре), И ваш первичный ключ установлен на IDENTITY
, вы можете использовать что-то вроде:
INSERT INTO TableA (DocNo, Version)
(SELECT TOP 1 'XYZ',ISNULL(MAX(Version)+1,0)
FROM TableA WHERE DocNo = 'XYZ')
Я использовал 'XYZ'
, где вы бы поместили свой параметр как:
INSERT INTO TableA (DocNo, Version)
(SELECT TOP 1 @DocNo,ISNULL(MAX(Version)+1,0)
FROM TableA WHERE DocNo = @DocNo)