我有一个表Hashtags
,其中包含列:
id, hashtag, count
在我的存储过程中,我收到了这样的字符串:
#stack, #overflow, #test
我必须检查是否存在一些主题标签并更新计数,否则只需为字符串中的每个主题标签插入一个新行。
我试图使用IN但不适用于INSERTS。
答案 0 :(得分:3)
您可以使用新的string_split并使用MERGE语句:
DECLARE @input VARCHAR(260) = '#stack,#overflow,#test'
MERGE hashtags h
USING (SELECT value FROM string_split(@input, ',')) t
ON h.hashtag = t.value
WHEN MATCHED THEN
UPDATE SET count = count + 1
WHEN NOT MATCHED THEN
INSERT (hashtag, count)
VALUES (t.value, 1);