【发布时间】:2014-09-22 09:42:23
【问题描述】:
我有一个较长的存储过程,其中一个输入参数是一个包含关键字/标签的 xml 字符串(格式为 xml,使用 SQL Server 2008)。我需要检查每个标签是否已经存在于表中,如果不存在,则将它们插入那里。
到目前为止,我有以下几行,但我的问题是如何在此处编写 Where 子句(@tag 只是用于演示的占位符)。我该如何更改?
我的 SQL(仅相关部分):
IF NOT EXISTS
(
SELECT *
FROM RC_Tags
WHERE tag = @tag
)
BEGIN
INSERT INTO RC_Tags
(
tag
)
SELECT ParamValues.tag.value('.', 'varchar(255)')
FROM @xmlTags.nodes('/tags/tag') AS ParamValues(tag)
END
【问题讨论】:
标签: sql sql-server xml select insert