2012-08-02 199 views
0

這是在存儲過程中更新XML屬性

@myname varchar(50) 

UPDATE temp_xmlloc 
SET myxml.modify('replace value of (/name/@id[.="XML"])[1] with "GK" ') 
WHERE name = @myname; 

在地方GK如果我需要給@myname我應該怎麼辦呢?

+0

** **什麼數據庫系統,以及哪個版本? * SQL *只是*結構化查詢語言* - 許多數據庫系統使用的語言,但不是數據庫產品......這樣的功能通常是特定於供應商的 - 因此我們確實需要知道**數據庫系統**您正在使用.... – 2012-08-02 13:48:55

回答

1

你可以使用sql:variable

UPDATE temp_xmlloc 
SET  myxml.modify('replace value of (/name/@id[.="XML"])[1] with sql:variable("@myname") ') 
where name = @myname; 
+0

XML數據類型方法「modify」的參數1必須是字符串文字。 //我得到這樣的錯誤 – dennis 2012-08-02 12:55:05

+0

我沒有將字符串分成兩行,所以不會換行。嘗試沒有'+'的新版本? – Andomar 2012-08-02 12:57:45