<i id='8q3HK'><tr id='8q3HK'><dt id='8q3HK'><q id='8q3HK'><span id='8q3HK'><b id='8q3HK'><form id='8q3HK'><ins id='8q3HK'></ins><ul id='8q3HK'></ul><sub id='8q3HK'></sub></form><legend id='8q3HK'></legend><bdo id='8q3HK'><pre id='8q3HK'><center id='8q3HK'></center></pre></bdo></b><th id='8q3HK'></th></span></q></dt></tr></i><div id='8q3HK'><tfoot id='8q3HK'></tfoot><dl id='8q3HK'><fieldset id='8q3HK'></fieldset></dl></div>

    <bdo id='8q3HK'></bdo><ul id='8q3HK'></ul>
  • <tfoot id='8q3HK'></tfoot><legend id='8q3HK'><style id='8q3HK'><dir id='8q3HK'><q id='8q3HK'></q></dir></style></legend>

    1. <small id='8q3HK'></small><noframes id='8q3HK'>

        XML 数据类型方法“修改"的错误使用.在这种情

        时间:2023-06-07
        1. <legend id='eUJoi'><style id='eUJoi'><dir id='eUJoi'><q id='eUJoi'></q></dir></style></legend>
          <tfoot id='eUJoi'></tfoot>
        2. <i id='eUJoi'><tr id='eUJoi'><dt id='eUJoi'><q id='eUJoi'><span id='eUJoi'><b id='eUJoi'><form id='eUJoi'><ins id='eUJoi'></ins><ul id='eUJoi'></ul><sub id='eUJoi'></sub></form><legend id='eUJoi'></legend><bdo id='eUJoi'><pre id='eUJoi'><center id='eUJoi'></center></pre></bdo></b><th id='eUJoi'></th></span></q></dt></tr></i><div id='eUJoi'><tfoot id='eUJoi'></tfoot><dl id='eUJoi'><fieldset id='eUJoi'></fieldset></dl></div>

              <tbody id='eUJoi'></tbody>

              <bdo id='eUJoi'></bdo><ul id='eUJoi'></ul>
              • <small id='eUJoi'></small><noframes id='eUJoi'>

                • 本文介绍了XML 数据类型方法“修改"的错误使用.在这种情况下需要一个非突变方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我正在尝试根据大小写更新表中的 XML 数据列.下面是我的代码:

                  I am trying to update XML data column in a table based on case. Below is my code:

                  UPDATE #temp
                  SET xml_data = CASE
                                    WHEN @type = 'G' 
                                       THEN xml_data.modify('insert <type>G</type> after (/Main/name)[1]');
                                    WHEN @type = 'Q' 
                                       THEN xml_data.modify('insert <type>Q</type> after (/Main/name)[1]'); 
                                 END
                  

                  我收到一个错误:

                  XML 数据类型方法修改"的错误使用.在这种情况下需要一个非增变方法.

                  Incorrect use of the XML data type method 'modify'. A non-mutator method is expected in this context.

                  期望的输出:

                  • @type = 'Q'时,插入类型节点为Q
                  • @type = 'G'时,插入类型节点为G
                  • When @type = 'Q', insert type node as Q
                  • When @type = 'G', insert type node as G

                  XML 结构:

                  <Main>
                      <name>John doe</name>
                      <type>Q</type>
                      <age>15</age>
                  </Main>
                  

                  有什么帮助吗?!

                  更新:

                  我编辑的查询:

                  UPDATE #temp
                  SET xml_data.modify('insert <Type>{sql:variable("@var")}</Type> after (/Main/name)[1]')
                  

                  此查询将类型添加到 XML 的末尾.输出:

                  This query is adding the type to the end of the XML. Output:

                  <Main>
                      <name>John doe</name>
                      <age>15</age>
                  </Main>
                  <Type>Q</Type>
                  

                  推荐答案

                  语法是SET [xml_column].modify,没有使用赋值.不使用 CASE,而是使用特殊的 sql:variable 函数将变量折叠到更新中:

                  The syntax is SET [xml_column].modify, no use of the assignment. Instead of using CASE, fold the variable into the update using the special sql:variable function:

                  UPDATE #temp 
                  SET xml_data.modify('insert <type>{sql:variable("@type")}</type> after (/Main/name)[1]');
                  

                  这篇关于XML 数据类型方法“修改"的错误使用.在这种情况下需要一个非突变方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:在 SQL Server XML 处理中为 modify() 参数化 XPath 下一篇:如何在 SQL 中拆分具有相同子子名称的两个 xml 标

                  相关文章

                  最新文章

                    <bdo id='NhbVv'></bdo><ul id='NhbVv'></ul>
                • <legend id='NhbVv'><style id='NhbVv'><dir id='NhbVv'><q id='NhbVv'></q></dir></style></legend>
                  <i id='NhbVv'><tr id='NhbVv'><dt id='NhbVv'><q id='NhbVv'><span id='NhbVv'><b id='NhbVv'><form id='NhbVv'><ins id='NhbVv'></ins><ul id='NhbVv'></ul><sub id='NhbVv'></sub></form><legend id='NhbVv'></legend><bdo id='NhbVv'><pre id='NhbVv'><center id='NhbVv'></center></pre></bdo></b><th id='NhbVv'></th></span></q></dt></tr></i><div id='NhbVv'><tfoot id='NhbVv'></tfoot><dl id='NhbVv'><fieldset id='NhbVv'></fieldset></dl></div>
                    <tfoot id='NhbVv'></tfoot>

                      <small id='NhbVv'></small><noframes id='NhbVv'>