0
我在SQL Server中得到一個列的最高值在存儲過程中SQLServer的
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中所有部分的最大值。
我想以後從行,你需要添加'WHERE DocumentID = @ DocumentID' – therealmitchconnors
@therealmitchconnors - Doah。謝謝。 – Thomas
當表格中沒有任何部分時會失敗。使用此Coalesce(Max(OrdinalPosition)+1,1)來獲取OrdinalPosition的值 – Omar