我正在尝试编写一个 SQL SP,我将在其中插入一些 xml 数据的节点 - 我想检查此信息是否已存在于表的列中。
该表称为“PositionDescriptions”,有 2 列“DescriptionId (int)”和“Description (nvarchar(max)”。
到目前为止,我有以下循环代码:
@TheRole xml,
SET @TheRole = '<Descriptions><Description>TheRole Testing 123</Description><Description>TheRole Test again</Description></Descriptions>'
DECLARE @Temp TABLE(description nvarchar(MAX))
INSERT INTO @Temp(description)
SELECT PositionsDescriptions.Description.value('./@Description', 'nvarchar(MAX)') as [Description]
FROM @TheRole.nodes('/Descriptions/Description') as [PositionsDescriptions]([Description]);
我似乎无法弄清楚如何执行任何基本上说的 if 语句:“如果表中已经存在描述,则获取描述 id。否则,如果描述不存在,则将描述插入表中并返回新的描述 ID”
我是 SP 和 SQL 的新手,所以希望这不是一个愚蠢的问题!