1
比方說,我們有三列簡單的表T1:更新XML在SQL Server中的變量
CREATE TABLE T1(C1 INT PRIMARY KEY, C2 VARCHAR(20), C3 XML)
現在我們創建一個簡單的數據:
INSERT INTO T1 VALUES(1, 'Test', '<Element></Element>')
然後我想修改第三列實現這樣的事情:
<Element>Test</Element>
這意味着,C2插入到XML中。
,所以我想這樣做與變量:
DECLARE @test VARCHAR(20) = 'Example'
UPDATE
T1
SET
@test = C2,
C3.modify('
replace value of
(/Element/text())[1]
with sql:variable("@test") ')
不幸的是,結果是:
<Element>Example</Element>
我做錯了嗎?
看起來您正在更新並同時設置您的變量,因此更新使用原始值(執行update時執行的值)。 – HoneyBadger