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

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

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

        如何使用 for 循環使用 XQuery 刪除 xml 節點

        How to using for loop using XQuery to delete xml nodes(如何使用 for 循環使用 XQuery 刪除 xml 節點)

          <legend id='5aFt3'><style id='5aFt3'><dir id='5aFt3'><q id='5aFt3'></q></dir></style></legend>
          • <small id='5aFt3'></small><noframes id='5aFt3'>

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

                1. 本文介紹了如何使用 for 循環使用 XQuery 刪除 xml 節點的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  限時送ChatGPT賬號..

                  我在 SQL 存儲過程中有一個 XML 參數 @Xml,如下所示:

                  I have an XML parameter @Xml in SQL Stored procedure like below:

                      <Root>
                     <Data>
                       <Id>1</Id>
                       <Name>Kevin</Name>
                       <Des>Des1</Des>
                     </Data>
                     <Data>
                       <Id>2</Id>
                       <Name>Alex</Name>
                       <Des>Des2</Des>
                     </Data>
                     <Data>
                       <Id>3</Id>
                       <Name>Amy</Name>
                       <Des>Des3</Des>
                     </Data>
                   </Root>
                  

                  現在,我想刪除這個xml中的幾個節點,過濾器是這樣的(Id = 2 AND Name = 'Alex') OR (Id = 3 AND Name = 'Amy'),我不想使用 Cursor 或類似的東西,只需使用一個腳本來完成它,我正在盡我所能,但我無法得到答案,有人可以幫助我嗎?提前致謝!!!

                  now, I want to delete several nodes in this xml, the filter is like this (Id = 2 AND Name = 'Alex') OR (Id = 3 AND Name = 'Amy'), I don't want to use Cursor or something like this, just using one single script to do it, I am try to my best for this, but I can't get the answer, anybody can help me ? Thanks in advance!!!

                  輸出應該是:

                      <Root>
                     <Data>
                       <Id>1</Id>
                       <Name>Kevin</Name>
                       <Des>Des1</Des>
                     </Data>
                   </Root>
                  

                  PS:過濾器是一個#table,那么,實際的問題是,如何刪除包含在#table中的XML中的特定記錄?

                  PS: the filter is a #table, so, the actually question is , how to remove the specific records in XML which contains in #table?

                  Id    Name
                  2     Alex
                  3     Amy
                  

                  <小時>

                      Declare @Xml XML
                  set @Xml = '<Root>
                     <Data>
                       <Id>1</Id>
                       <Name>Kevin</Name>
                       <Des>Des1</Des>
                     </Data>
                     <Data>
                       <Id>2</Id>
                       <Name>Alex</Name>
                       <Des>Des2</Des>
                     </Data>
                     <Data>
                       <Id>3</Id>
                       <Name>Amy</Name>
                       <Des>Des3</Des>
                     </Data>
                   </Root>'
                  
                  create TABLE #tempResult 
                  (
                      Id Int,
                      Name Varchar(10)
                  )
                  
                  insert into #tempResult
                  values(2, 'Alex'), (3, 'Amy')
                  
                  SET @Xml = (
                  SELECT Node.value('Id[1]','int') AS PId, Node.value('Name[1]','Varchar(10)') AS PName 
                  FROM @Xml.nodes('//Data') AS T(Node)
                  OUTER APPLY (
                      SELECT tr.Id, tr.Name
                      FROM #tempResult tr
                      WHERE Node.value('Id[1]','int') = tr.Id and Node.value('Name[1]','Varchar(10)') = tr.Name
                  ) a
                  WHERE a.Id IS NULL
                  FOR XML PATH(''), TYPE
                  )
                  
                  select @Xml
                  drop table #tempResult
                  

                  我得到了這樣的結果1凱文

                  I got results like this 1 Kevin

                  但我需要整個xml包含根節點:

                  But I need the the whole xml contains Root node:

                      <Root>
                    <Data>
                      <Id>1</Id>
                      <Name>Kevin</Name>
                      <Des>Des1</Des>
                    </Data>
                  </Root>
                  

                  我怎樣才能達到這個目標?有什么幫助嗎?我是 SQL 到 XML 的新手,請幫助我!!!

                  How can I reach this? Any help? I am an new leaner for SQL to XML, please help me !!!

                  推薦答案

                  我得到了答案,謝謝大家

                  I got the answer, thanks all you guys

                      declare @xml xml
                      set @xml = '<Root><Header>123</Header><Data><Id>1</Id><Name>Kevin</Name><Des>Des1</Des></Data><Data><Id>2</Id><Name>Alex</Name><Des>Des2</Des></Data><Data><Id>3</Id><Name>Amy</Name><Des>Des3</Des></Data><Tail>456</Tail></Root>'
                      --set @xml.modify('delete /Root/Data[(Id[.=1] and Name[.="Kevin"]) or (Id[.=2] and Name[.="Alex"])]')
                      select @xml
                      declare @parameter XML
                      set @parameter = (SELECT Node.value('(Id)[1]', 'Int') AS Id,
                                              Node.value('(Name)[1]', 'Varchar(10)') AS Name
                                      FROM @xml.nodes('Root/Data') TempXML(Node)
                                      WHERE Node.value('(Id)[1]', 'Int') != 3
                                      for xml path('Root'), TYPE)
                      --select @parameter
                      declare @sql nvarchar(max)
                      set @sql = convert(nvarchar(max), 
                       @parameter.query('for $i in (/Root) return concat("(Id[.=", 
                                                                              string($i/Id[1]),
                                                                              "] and Name[.=""", 
                                                                              string($i/Name[1]),
                                                                              """]) or")')
                                                                              )
                      set @sql = '['+substring(@sql,0,len(@sql)-2)+']'
                      set @sql = 'set @xml.modify(''delete /Root/Data'+@sql+''')'
                      select @sql
                      exec sp_executesql @sql, N'@xml xml output', @xml output
                      select @xml
                  

                  這篇關于如何使用 for 循環使用 XQuery 刪除 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?)
                      <bdo id='vTB1D'></bdo><ul id='vTB1D'></ul>
                      1. <tfoot id='vTB1D'></tfoot>

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

                            <tbody id='vTB1D'></tbody>

                          1. <i id='vTB1D'><tr id='vTB1D'><dt id='vTB1D'><q id='vTB1D'><span id='vTB1D'><b id='vTB1D'><form id='vTB1D'><ins id='vTB1D'></ins><ul id='vTB1D'></ul><sub id='vTB1D'></sub></form><legend id='vTB1D'></legend><bdo id='vTB1D'><pre id='vTB1D'><center id='vTB1D'></center></pre></bdo></b><th id='vTB1D'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='vTB1D'><tfoot id='vTB1D'></tfoot><dl id='vTB1D'><fieldset id='vTB1D'></fieldset></dl></div>
                            <legend id='vTB1D'><style id='vTB1D'><dir id='vTB1D'><q id='vTB1D'></q></dir></style></legend>
                          2. 主站蜘蛛池模板: 欧美成人精品激情在线观看 | 国产视频久久 | 国产精品一区在线播放 | 亚洲午夜小视频 | 四虎影院新网址 | 精品日韩 | 网站一区二区三区 | 91国在线高清视频 | 宅女噜噜66国产精品观看免费 | 久久久一二三 | 欧美日韩成人一区二区 | 精品在线一区二区三区 | 欧美日韩一区精品 | 精品网| 欧美一区二区三区在线播放 | 日韩中文字幕在线视频 | 国产精品亚洲综合 | 色在线免费视频 | 精品久久久久久红码专区 | av先锋资源| 国产在线对白 | 在线播放国产一区二区三区 | 免费高潮视频95在线观看网站 | 亚洲国产电影 | 夜夜爽99久久国产综合精品女不卡 | 国产精品久久久久久久三级 | 亚洲网址在线观看 | 国产真实乱对白精彩久久小说 | 成人h动漫亚洲一区二区 | 国产片侵犯亲女视频播放 | 免费在线色 | 一区二区三区中文字幕 | 国产精品久久久久久久久久久久午夜片 | 一区二区免费看 | 久久99精品久久久久婷婷 | 国产伦精品一区二区三区高清 | 国产真实乱全部视频 | 日韩电影一区二区三区 | 视频一区二区三区中文字幕 | 日本高清不卡视频 | 亚洲欧美在线一区 |