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
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
|
|
|