У меня есть следующая хранимая процедура в SQL Server
IF OBJECT_ID ('kii.p_CreateSection') IS NOT NULL
DROP PROCEDURE kii.p_CreateSection
GO
CREATE PROCEDURE kii.p_CreateSection
@Name AS NVARCHAR(200),
@DocumentId AS INT,
@TypeId AS INT = NULL,
@ReportId AS INT = NULL,
@OrdinalPosition AS SMALLINT
AS
INSERT INTO kii.Section (Name, DocumentId, TypeId, ReportId, OrdinalPosition)
VALUES (@Name, @DocumentId, @TypeId, @ReportId, @OrdinalPosition)
SELECT SCOPE_IDENTITY();
GO
GRANT EXECUTE on kii.p_CreateSection TO p_role_kii
GO
Таблица Section
связана с Document
.Каждый документ имеет несколько разделов, и они упорядочены по значению OrdinalPosistion
.
Я хотел бы проверить, что если заданное значение для @OrdinalPosition
равно 0, то установите для него максимальное значение из всехразделы этого документа + 1.