Исходный код вики INSERT or UPDATE

Версия 6.2 от Alexandr Fokin на 2022/01/03 15:03

Последние авторы
1 Solutions for INSERT OR UPDATE on SQL Server
2 https://stackoverflow.com/questions/108403/solutions-for-insert-or-update-on-sql-server
3
4
5 {{code language="sql"}}
6 DECLARE @key INT = 12
7 DECLARE @msg NVARCHAR(MAX) = 'L2'
8
9 BEGIN TRAN
10 IF EXISTS (
11 SELECT *
12 FROM DBO.LOG2ENTITY WITH (UPDLOCK, SERIALIZABLE)
13 WHERE ID = @key
14 )
15 BEGIN
16 UPDATE DBO.LOG2ENTITY
17 SET
18 Message = @msg
19 WHERE ID =@key
20 END
21 ELSE
22 BEGIN
23 INSERT INTO DBO.LOG2ENTITY (Message)
24 VALUES (@msg)
25 END
26 COMMIT TRAN
27
28 {{/code}}