이것은 Andomar의 게시물에 대한 자세한 설명입니다. Andomar에게 크레딧을 드리겠습니다. Andomar는 더 자세히 설명하고 작은 버그를 수정하는 방법을 보여줍니다.
DECLARE @s VARCHAR(100)
SET @s = 'somevalue'
DECLARE @t TABLE (column1 VARCHAR(100), column2 VARCHAR(18))
INSERT @t
SELECT @s, 'First example'
WHERE NOT EXISTS (SELECT 1 FROM @t WHERE Column1 = @s)
IF @@rowcount = 0 UPDATE @t SET column2 = 'Second example' WHERE Column1 = @s
-- at first the value does not exists and is inserted
SELECT * FROM @t
-- same script again, notice how the second example is chosen because it already exists
INSERT @t
SELECT @s, 'First example'
WHERE NOT EXISTS (SELECT 1 FROM @t WHERE Column1 = @s)
IF @@rowcount = 0 UPDATE @t SET column2 = 'Second example' WHERE Column1 = @s
-- new the line exists and column 2 is updated
SELECT * FROM @t
column1 column2
----------- -------------
somevalue First example
column1 column2
----------- --------------
somevalue Second example
설명 주셔서 감사합니다. – kumar