28 lines
1.0 KiB
Transact-SQL
28 lines
1.0 KiB
Transact-SQL
CREATE PROCEDURE [dbo].[USP_ChartsTemplate_AddOrUpdate]
|
|
@client VARCHAR(100),
|
|
@user VARCHAR(300),
|
|
@chartName VARCHAR(300),
|
|
@symbol VARCHAR(50),
|
|
@resolution VARCHAR(10),
|
|
@lastModified DATETIME,
|
|
@content TEXT,
|
|
@chartId BIGINT = NULL
|
|
AS
|
|
MERGE [ChartsTemplate] as ct
|
|
USING (VALUES(@chartId, @client,@user, @chartName,@symbol,@resolution,@lastModified,@content)) as s ([ChartId], [Client], [User], [ChartName], [Symbol], [Resolution], [LastModified], [Content])
|
|
ON ct.[Id] = s.[ChartId] AND ct.[User] = s.[User] AND ct.[Client]=s.[Client]
|
|
WHEN MATCHED
|
|
THEN UPDATE
|
|
SET [ChartName] = s.[ChartName],
|
|
[Symbol] = s.[Symbol],
|
|
[Resolution] = s.[Resolution],
|
|
[LastModified] = s.[LastModified], --NEED REVIEW: possiblyu better fill from db like GETUTCDATE()
|
|
[Content] = s.[Content]
|
|
|
|
WHEN NOT MATCHED THEN
|
|
INSERT ([Client], [User], [ChartName], [Symbol], [Resolution], [LastModified], [Content])
|
|
VALUES (@client, @user, @chartName, @symbol, @resolution, @lastModified, @content)
|
|
;
|
|
|
|
SELECT SCOPE_IDENTITY()
|
|
RETURN 0 |