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

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

      <legend id='IPMGY'><style id='IPMGY'><dir id='IPMGY'><q id='IPMGY'></q></dir></style></legend>
      <tfoot id='IPMGY'></tfoot>

    1. <small id='IPMGY'></small><noframes id='IPMGY'>

        <bdo id='IPMGY'></bdo><ul id='IPMGY'></ul>
      1. SQL Server 更新值 XML 節點

        SQL Server Update Value XML Node(SQL Server 更新值 XML 節點)

      2. <tfoot id='LmXZL'></tfoot>
      3. <i id='LmXZL'><tr id='LmXZL'><dt id='LmXZL'><q id='LmXZL'><span id='LmXZL'><b id='LmXZL'><form id='LmXZL'><ins id='LmXZL'></ins><ul id='LmXZL'></ul><sub id='LmXZL'></sub></form><legend id='LmXZL'></legend><bdo id='LmXZL'><pre id='LmXZL'><center id='LmXZL'></center></pre></bdo></b><th id='LmXZL'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='LmXZL'><tfoot id='LmXZL'></tfoot><dl id='LmXZL'><fieldset id='LmXZL'></fieldset></dl></div>

            <bdo id='LmXZL'></bdo><ul id='LmXZL'></ul>

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

              <tbody id='LmXZL'></tbody>
            <legend id='LmXZL'><style id='LmXZL'><dir id='LmXZL'><q id='LmXZL'></q></dir></style></legend>
                  本文介紹了SQL Server 更新值 XML 節點的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  限時送ChatGPT賬號..

                  我在 SQL Server 中有 2 個表

                  I have 2 tables in SQL Server

                  表 1

                     ID   - Name  - Phone
                     1      HK      999    
                     2      RK      888
                     3      SK      777
                     4      PK      666
                  

                  Table2

                     ID   - XMLCol
                     1      XMLVal1
                  

                  XMLVal1

                     <Root>
                      <Data1>
                       <ID>1</ID>
                       <Name>HK</Name> 
                       </Data1>
                      <Data1>
                       <ID>2</ID>
                       <Name>RK</Name>
                       </Data1>
                      </Root>
                  

                  現在我將一個 GUID 列插入到 Table1

                  Now I am inserting a GUID column into Table1

                  表 1

                     ID   - Name  - Phone  - GUID
                     1      HK      999      HJHHKHJHJHKJH8788 
                     2      RK      888      OONMNy7878HJHJHSD
                     3      SK      777      POMSDHBSNB775SD87
                     4      PK      666      HRBMASJMN76448NDN
                  

                  Table2 XML 列中,我想用新的 GUID 值更新 ID 節點而不更改元素名稱.

                  In Table2 XML column, I want to update the ID node with the new GUID value without changing the element name.

                  所以現在 XML 將是

                  So now the XML would be

                     <Root>
                      <Data1>
                       <ID>HJHHKHJHJHKJH8788</ID>
                       <Name>HK</Name> 
                       </Data1>
                      <Data1>
                       <ID>OONMNy7878HJHJHSD</ID>
                       <Name>RK</Name>
                       </Data1>
                      </Root>
                  

                  Table2 中的所有行都會發生這種情況.

                  This will happen for all rows in Table2.

                  請幫我查詢一下.

                  推薦答案

                  不可能一次在多個地方更新 XML,因此您必須在某種循環中執行此操作.我能想到的最好方法是從 Table2 中的 XML 中提取 ID 并與 Table1.ID 連接以生成一個包含 Table2.ID 的臨時表 XML 中 Data1 節點的序號位置 (OrdPos) 和新的 GUID 值.

                  It is not possible to update the XML in more than one place at a time so you have to do this in a loop of some kind. The best I could come up with was to extract the ID's from the XML in Table2 and join against Table1.ID to produce a temp table that holds Table2.ID ordinal position of the Data1 node in the XML (OrdPos) and the new GUID value.

                  然后您可以遍歷 XML 列中存在的最大節點數并進行更新.

                  Then you can loop over the max number of nodes present in the XML column and do the update.

                  -- Variable used to loop over nodes
                  declare @I int 
                  
                  -- Temp table to hold the work that needs to be done.
                  create table #T
                  (
                    ID int, -- ID from table2
                    OrdPos int, -- Ordinal position of node Data1 in root
                    GUID uniqueidentifier, -- New ID
                    primary key (OrdPos, ID)
                  )
                  
                  -- Shred the XML in Table2, join to Table1 to get GUID
                  insert into #T(ID, OrdPos, GUID)
                  select T2.ID,
                         row_number() over(partition by T2.ID order by D.N) as OrdPos,
                         T1.GUID
                  from Table2 as T2
                    cross apply T2.XMLCol.nodes('Root[1]/Data1') as D(N)
                    inner join Table1 as T1
                      on T1.ID = D.N.value('(ID/text())[1]', 'int')
                  
                  -- Get the max number of nodes in one row that needs to be updated
                  set @I = 
                    (
                      select top(1) count(*)
                      from #T
                      group by ID
                      order by 1 desc
                    )
                  
                  -- Do the updates in a loop, one level at a time
                  while @I > 0
                  begin
                    update T2
                    set XMLCol.modify('replace value of (/Root[1]/Data1[sql:variable("@I")]/ID/text())[1] 
                                       with sql:column("T.GUID")')
                    from Table2 as T2
                      inner join #T as T
                        on T2.ID = T.ID
                    where T.OrdPos = @I
                  
                    set @I = @I - 1
                  end
                  
                  drop table #T
                  

                  SQL 小提琴

                  這篇關于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?)

                    <tbody id='ynsGE'></tbody>
                  <tfoot id='ynsGE'></tfoot>
                    <bdo id='ynsGE'></bdo><ul id='ynsGE'></ul>

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

                            <legend id='ynsGE'><style id='ynsGE'><dir id='ynsGE'><q id='ynsGE'></q></dir></style></legend>

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

                          1. 主站蜘蛛池模板: 免费美女网站 | 中文天堂在线观看 | 国产精品久久久久久久午夜片 | 国产精品久久久久久中文字 | 国产精品毛片 | 国产精品特级毛片一区二区三区 | 欧美日韩综合一区 | 国产精品免费在线 | 日韩理论电影在线观看 | 久久精品国产免费高清 | 91精品国产91久久久久久 | 五月精品视频 | 涩涩视频在线观看 | 97超碰在线播放 | 久久国产精品精品国产色婷婷 | 精品一区二区在线观看 | 国产精品国产馆在线真实露脸 | 国产精品免费小视频 | 欧美精品成人一区二区三区四区 | 久久久久国产成人精品亚洲午夜 | 久久精品69 | 亚洲精品字幕 | 免费黄色的网站 | 日韩欧美三级 | 久久99这里只有精品 | 男女精品久久 | 五月婷婷激情网 | 久久精品在线免费视频 | 青青久久| 亚洲喷水 | 天天亚洲 | 久久久精品综合 | 国产成人精品一区二区三区视频 | av中文字幕在线观看 | 久久国产精品72免费观看 | 在线视频国产一区 | 免费观看av | 在线黄色网 | 中文一区 | 北条麻妃99精品青青久久主播 | 精品国产一区二区在线 |