INSERT or UPDATE

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

Solutions for INSERT OR UPDATE on SQL Server
https://stackoverflow.com/questions/108403/solutions-for-insert-or-update-on-sql-server

DECLARE @key INT  = 12
DECLARE @msg NVARCHAR(MAX) = 'L2'

BEGIN TRAN
   IF EXISTS (
       SELECT *
       FROM DBO.LOG2ENTITY WITH (UPDLOCK, SERIALIZABLE)
       WHERE ID = @key
        )
   BEGIN
      UPDATE DBO.LOG2ENTITY
      SET
        Message = @msg
      WHERE ID =@key
   END
   ELSE
   BEGIN
      INSERT INTO DBO.LOG2ENTITY (Message)
      VALUES (@msg)
   END
COMMIT TRAN