我有一个包含帐号和标签(关键词)的表。我的查询将检查该帐户是否存在,如果存在,则需要将新关键字附加到已经存在的关键字上。TSQL追加到行
如果账户没有退出,它只是做一个简单的插入。
我的挣扎是从IF Exists子句中获取当前标记,并在update语句中将新数据添加到其中。有任何想法吗?
BEGIN
SET NOCOUNT ON;
IF EXISTS (SELECT id, tags FROM AccountLogAccounts WHERE account = @account)
BEGIN
UPDATE AccountLogAccounts
SET tags = (
SELECT tags
FROM AccountLogAccounts
WHERE account = @account
) + ',' @tags --This doesn't work :)
WHERE account = @account
END
ELSE
BEGIN
INSERT INTO AccountLogAccounts (
account,
location,
tags,
whoAdded,
whenAdded
) VALUES (
@account,
@location,
@tags,
@ntid,
GETDATE()
)
END
END
那么该怎么办? –
我需要从exist语句(当前标记)中获取结果,并在更新语句中将新数据附加到它。 – SBB