Sql server 在SQL Server中使用temp变量更新XML节点的内部文本值
您需要先选择元素,然后使用sql:variable…:从变量中绑定值:Sql server 在SQL Server中使用temp变量更新XML节点的内部文本值,sql-server,xml,tsql,Sql Server,Xml,Tsql,您需要先选择元素,然后使用sql:variable…:从变量中绑定值: <metadata> <layout>8</layout> <maxScore>7</maxScore> </metadata> DECLARE @MaxReplace as NVARCHAR(10) SET @MaxReplace='1' Update dbo.SCORETBALE SET [XML].modify('replace
<metadata>
<layout>8</layout>
<maxScore>7</maxScore>
</metadata>
DECLARE @MaxReplace as NVARCHAR(10)
SET @MaxReplace='1'
Update dbo.SCORETBALE
SET [XML].modify('replace value of (/ns:metadata/ns:maxScore)[1] with "@MaxReplace "')
FROM dbo.XYZ...(condition)...
CREATE TABLE #SCORETBALE(col XML);
INSERT INTO #SCORETBALE(coL)
VALUES ('<metadata>
<layout>8</layout>
<maxScore>1</maxScore>
</metadata>');
DECLARE @MaxReplace AS NVARCHAR(10) = '22';
UPDATE #SCORETBALE
SET col.modify('replace value of (/metadata/maxScore/text())[1]
with sql:variable("@MaxReplace")')
-- WHERE ...
SELECT *
FROM #SCORETBALE;