-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSQLDBScript.txt
More file actions
35 lines (33 loc) · 902 Bytes
/
SQLDBScript.txt
File metadata and controls
35 lines (33 loc) · 902 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
-- AppSecrets table + sprocs
IF OBJECT_ID('dbo.AppSecrets','U') IS NULL
BEGIN
CREATE TABLE dbo.AppSecrets(
Id INT IDENTITY(1,1) PRIMARY KEY,
[Name] NVARCHAR(100) NOT NULL UNIQUE,
EncryptedValue VARBINARY(MAX) NOT NULL,
CreatedAt DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME(),
UpdatedAt DATETIME2 NULL
);
END
GO
CREATE OR ALTER PROCEDURE dbo.AppSecrets_Set
@Name NVARCHAR(100),
@EncryptedValue VARBINARY(MAX)
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS(SELECT 1 FROM dbo.AppSecrets WHERE [Name]=@Name)
UPDATE dbo.AppSecrets SET EncryptedValue=@EncryptedValue, UpdatedAt=SYSUTCDATETIME()
WHERE [Name]=@Name;
ELSE
INSERT dbo.AppSecrets([Name],EncryptedValue) VALUES(@Name,@EncryptedValue);
END
GO
CREATE OR ALTER PROCEDURE dbo.AppSecrets_Get
@Name NVARCHAR(100)
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 1 EncryptedValue FROM dbo.AppSecrets WHERE [Name]=@Name;
END
GO