spBulkUpdate_CMSReservedItems
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SessionId | nvarchar(50) | IN | |
@XML | ntext | IN | |
@Seconds | int | IN | |
@ExpiresAt | datetime | INOUT |
Definition
Copy
CREATE PROCEDURE [dbo].[spBulkUpdate_CMSReservedItems]
(
@SessionId nvarchar(50) = '',
@XML ntext = '',
@Seconds int = 600,
@ExpiresAt datetime out
)
AS
SET NOCOUNT ON
DECLARE @idoc int
DECLARE @expires datetime
EXEC sp_xml_preparedocument @idoc OUTPUT, @XML
begin transaction
DELETE
FROM dbo.CMSReservedItems
WHERE ExpiresAt <= GETUTCDATE() or SESSIONID = @SessionId
SET @expires = DATEADD(SECOND, @Seconds, GETUTCDATE())
INSERT INTO dbo.CMSReservedItems(
SessionId,
ExpiresAt,
ItemQty,
ItemId
)
SELECT @SessionId, @expires, *
FROM OPENXML (@idoc, '/ArrayOfReservedItem/ReservedItem', 2)
WITH(
[ItemQty] int,
[ItemId] int
)
EXEC sp_xml_removedocument @idoc
commit transaction
SET @ExpiresAt = @expires