मेरे पास T-SQL कोड है:
घोषित करें @ xml xml = N '& Lt; एक एबीबी = "122" & gt; & Lt; p & gt; & Lt; / p & gt; & Lt; / a & gt; & Lt; एक एबीबी = "344" & gt; & Lt; p & gt; & Lt; / p & gt; & Lt; / a & gt; '; @ टी तालिका घोषित करें (XMLCol xml); @T मानों (@ एक्सएमएल) में डालें; @ Sql varchar (अधिकतम) घोषित करें; सेट @ एसक्यूएल = 'अपडेट @ टी सेट करें XMLCol.modify (' '888' 'के साथ के मूल्य को प्रतिस्थापित करें [1]);'; Exec (@sql); जब मैं निष्पादित करता हूं, तो एक गलती खंड आता है:
संदेश 1087, स्तर 15, राज्य 2, लाइन 1 तालिका चर "@ टी" । कैसे चर @ टी को घोषित करने के लिए?
आप तालिका चर के बजाय एक अस्थायी तालिका का उपयोग कर सकते हैं।
घोषित करें @ xml xml = N '& lt; a abb = "122" & gt; & Lt; p & gt; & Lt; / p & gt; & Lt; / a & gt; & Lt; एक एबीबी = "344" & gt; & Lt; p & gt; & Lt; / p & gt; & Lt; / a & gt; '; तालिका # टी बनाएं (XMLCol xml); #T मानों (@ एक्सएमएल) में डालें; @ Sql varchar (अधिकतम) घोषित करें; Set @sql = 'update #T सेट XMLCol.modify (' 'के मूल्य को प्रतिस्थापित करें (/ a / @ abb) [1] 888' 'के साथ);'; Exec (@sql); ड्रॉप टेबल # टी
Comments
Post a Comment