久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

    <small id='78gs5'></small><noframes id='78gs5'>

    • <bdo id='78gs5'></bdo><ul id='78gs5'></ul>

        替換存儲在 SQL Server 數據庫列中的 XML 中的節點名

        Replacing Node name in an XML thats stored in a SQL Server database column(替換存儲在 SQL Server 數據庫列中的 XML 中的節點名稱)
        • <bdo id='js908'></bdo><ul id='js908'></ul>

            <tbody id='js908'></tbody>
          <tfoot id='js908'></tfoot>

            • <legend id='js908'><style id='js908'><dir id='js908'><q id='js908'></q></dir></style></legend>

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

                  <i id='js908'><tr id='js908'><dt id='js908'><q id='js908'><span id='js908'><b id='js908'><form id='js908'><ins id='js908'></ins><ul id='js908'></ul><sub id='js908'></sub></form><legend id='js908'></legend><bdo id='js908'><pre id='js908'><center id='js908'></center></pre></bdo></b><th id='js908'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='js908'><tfoot id='js908'></tfoot><dl id='js908'><fieldset id='js908'></fieldset></dl></div>
                  本文介紹了替換存儲在 SQL Server 數據庫列中的 XML 中的節點名稱的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  限時送ChatGPT賬號..

                  我想知道如何替換存儲在 SQL Server 數據庫中的 xml 中的子節點名稱

                  I'd like to know how I can replace a child node name in a xml that I stored in my SQL Server database

                  示例 XML

                  <CompanyStatus>
                   <ProductionServers>
                    <ProductionServer>
                      <Patch>0</Patch>
                      <Status>Green</Status>
                      <Test_Node>Yes</Test_Node>
                   </ProductionServers>
                    </ProductionServer>
                  </CompanyStatus>
                  

                  我將如何將其更改為以下內容:

                  How would I change that to the following:

                  <CompanyStatus>
                   <ProductionServers>
                    <ProductionServer>
                      <Patch>0</Patch>
                      <Status>Green</Status>
                      <Live_Node>Yes</Live_Node>
                   </ProductionServers>
                    </ProductionServer>
                  </CompanyStatus>
                  

                  基本上唯一的變化是 被重命名為 但值是相同的.

                  Where essentially the only change is <Test_Node> is renamed to <Live_Node> but the value is the same.

                  有沒有簡單的方法可以做到這一點?

                  Is there a simple way to do this?

                  我的數據庫中有大約 1000 條記錄

                  I have about 1000 records in my database

                  推薦答案

                  這是我的建議

                  • 使用屬性保存
                  • 容忍元素的位置(只要這個元素是唯一的)

                  檢查一下:

                  DECLARE @xml XML=
                  N'<CompanyStatus>
                   <ProductionServers>
                    <ProductionServer>
                      <Patch>0</Patch>
                      <Status>Green</Status>
                      <Test_Node a="x" b="y" c="z">Yes</Test_Node>
                   </ProductionServer>
                    </ProductionServers>
                  </CompanyStatus>';
                  

                  --這將創建帶有新元素名稱 及其所有屬性(如果有):

                  --This will create the <Test_Node> with all its attributes (if there are any) with the new element name <Live_Node>:

                  DECLARE @NewNode XML=
                      (
                       SELECT @xml.query(N'let $nd:=(//*[local-name()="Test_Node"])[1]
                                           return
                                           <Live_Node> {$nd/@*}
                                           {$nd/text()}
                                           </Live_Node>
                                          ')
                      );
                  

                  --這將首先在原始之后直接插入"@NewNode",并將刪除原始:

                  --this will first insert the "@NewNode" directly after the original, and will remove the original:

                  SET @xml.modify(N'insert sql:variable("@NewNode") after (//*[local-name()="Test_Node"])[1]');
                  SET @xml.modify(N'delete (//*[local-name()="Test_Node"])[1]');
                  
                  SELECT @xml;
                  

                  結果

                  <CompanyStatus>
                    <ProductionServers>
                      <ProductionServer>
                        <Patch>0</Patch>
                        <Status>Green</Status>
                        <Live_Node a="x" b="y" c="z">Yes</Live_Node>
                      </ProductionServer>
                    </ProductionServers>
                  </CompanyStatus>
                  

                  更新:與使用可更新 CTE 的表格數據相同:

                  DECLARE @xmlTable TABLE (YourXml XML);
                  INSERT INTO @xmlTable VALUES
                  (--Test_Node has got attributes
                  N'<CompanyStatus>
                   <ProductionServers>
                    <ProductionServer>
                      <Patch>0</Patch>
                      <Status>Green</Status>
                      <Test_Node a="x" b="y" c="z">Yes</Test_Node>
                   </ProductionServer>
                    </ProductionServers>
                  </CompanyStatus>'
                  )
                  ,( --different position, no attributes
                  N'<CompanyStatus>
                   <ProductionServers>
                      <Test_Node>Yes</Test_Node>
                    <ProductionServer>
                      <Patch>0</Patch>
                      <Status>Green</Status>
                   </ProductionServer>
                    </ProductionServers>
                  </CompanyStatus>'
                  )
                  ,( --No test node at all
                  N'<CompanyStatus>
                   <ProductionServers>
                    <ProductionServer>
                      <Patch>0</Patch>
                      <Status>Green</Status>
                   </ProductionServer>
                    </ProductionServers>
                  </CompanyStatus>'
                  );
                  

                  --可更新的 CTE 返回原始節點和新節點.這可以一次性更新:

                  --the updateable CTE returns the original and the new node. This can be updated in one go:

                  WITH ReadNode AS
                  (
                      SELECT t.YourXml.query(N'let $nd:=(//*[local-name()="Test_Node"])[1]
                                          return
                                          <Live_Node> {$nd/@*}
                                          {$nd/text()}
                                          </Live_Node>
                                      ') AS NewNode
                           ,t.YourXml AS Original
                      FROM @xmlTable AS t
                  )
                  UPDATE ReadNode SET Original.modify(N'insert sql:column("NewNode") after (//*[local-name()="Test_Node"])[1]');
                  
                  UPDATE @xmlTable SET YourXml.modify(N'delete (//*[local-name()="Test_Node"])[1]');
                  
                  SELECT *
                  FROM @xmlTable 
                  

                  這篇關于替換存儲在 SQL Server 數據庫列中的 XML 中的節點名稱的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  SQL query to get all products, categories and meta data woocommerce/wordpress(獲取所有產品、類別和元數據的 SQL 查詢 woocommerce/wordpress)
                  Can I figure out a list of databases and the space used by SQL Server instances without writing SQL queries?(我可以在不編寫 SQL 查詢的情況下找出數據庫列表和 SQL Server 實例使用的空間嗎?) - IT屋-程序員軟件開發
                  How to create a login to a SQL Server instance?(如何創建對 SQL Server 實例的登錄?)
                  How to know the version and edition of SQL Server through registry search(如何通過注冊表搜索知道SQL Server的版本和版本)
                  Why do I get a quot;data type conversion errorquot; with ExecuteNonQuery()?(為什么會出現“數據類型轉換錯誤?使用 ExecuteNonQuery()?)
                  How to show an image from a DataGridView to a PictureBox?(如何將 DataGridView 中的圖像顯示到 PictureBox?)

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

                      <bdo id='Fu2R0'></bdo><ul id='Fu2R0'></ul>
                      <tfoot id='Fu2R0'></tfoot>
                        <tbody id='Fu2R0'></tbody>
                      <i id='Fu2R0'><tr id='Fu2R0'><dt id='Fu2R0'><q id='Fu2R0'><span id='Fu2R0'><b id='Fu2R0'><form id='Fu2R0'><ins id='Fu2R0'></ins><ul id='Fu2R0'></ul><sub id='Fu2R0'></sub></form><legend id='Fu2R0'></legend><bdo id='Fu2R0'><pre id='Fu2R0'><center id='Fu2R0'></center></pre></bdo></b><th id='Fu2R0'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='Fu2R0'><tfoot id='Fu2R0'></tfoot><dl id='Fu2R0'><fieldset id='Fu2R0'></fieldset></dl></div>
                          • <legend id='Fu2R0'><style id='Fu2R0'><dir id='Fu2R0'><q id='Fu2R0'></q></dir></style></legend>
                            主站蜘蛛池模板: 亚洲欧洲精品一区 | av在线一区二区三区 | 九九综合| 蜜桃臀av一区二区三区 | 国产美女一区二区 | wwwww在线观看 | 日本精品999 | 拍戏被cao翻了h承欢 | 久久久久久免费毛片精品 | 久久久久久久久久久久亚洲 | 成年人在线观看 | 免费视频一区二区 | 久久99精品久久久久久国产越南 | 欧美精品一| 成人在线小视频 | 伦理午夜电影免费观看 | 视频一区在线播放 | 日韩成人影院 | 人人爽人人爽人人片av | 亚洲高清av在线 | 欧美久久综合 | 久久久99精品免费观看 | 欧美色成人 | 欧美一区二区三区视频在线播放 | 天天看天天爽 | 激情视频中文字幕 | 久久在线看 | 亚洲国产精品一区二区第一页 | 男人天堂视频在线观看 | 中文字幕第九页 | 免费国产一区二区 | 亚洲一区二区在线视频 | 99久热在线精品视频观看 | 日日艹夜夜艹 | 亚洲午夜精品在线观看 | 精品亚洲第一 | 欧美一区二区在线视频 | 亚洲性视频 | 亚洲精品中文字幕在线观看 | 一区二区三区国产 | 综合视频在线 |