The core infrastructure backend (API, database, Docker, etc).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

61 lines
1.5 KiB

CREATE OR ALTER PROCEDURE [dbo].[Grant_Save]
@Key NVARCHAR(200),
@Type NVARCHAR(50),
@SubjectId NVARCHAR(200),
@SessionId NVARCHAR(100),
@ClientId NVARCHAR(200),
@Description NVARCHAR(200),
@CreationDate DATETIME2,
@ExpirationDate DATETIME2,
@ConsumedDate DATETIME2,
@Data NVARCHAR(MAX)
AS
BEGIN
SET NOCOUNT ON
-- First, try to update the existing row
UPDATE [dbo].[Grant]
SET
[Type] = @Type,
[SubjectId] = @SubjectId,
[SessionId] = @SessionId,
[ClientId] = @ClientId,
[Description] = @Description,
[CreationDate] = @CreationDate,
[ExpirationDate] = @ExpirationDate,
[ConsumedDate] = @ConsumedDate,
[Data] = @Data
WHERE
[Key] = @Key
-- If no row was updated, insert a new one
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO [dbo].[Grant]
(
[Key],
[Type],
[SubjectId],
[SessionId],
[ClientId],
[Description],
[CreationDate],
[ExpirationDate],
[ConsumedDate],
[Data]
)
VALUES
(
@Key,
@Type,
@SubjectId,
@SessionId,
@ClientId,
@Description,
@CreationDate,
@ExpirationDate,
@ConsumedDate,
@Data
)
END
END