Please start any new threads on our new 
    site at https://forums.sqlteam.com.  We've got lots of great SQL Server
    experts to answer whatever question you can come up with. 
    
        
            
                
                    
                        
                            
                                | Author | 
                                
                                 Topic  | 
                             
                            
                                    | 
                                         dionisis 
                                        Starting Member 
                                         
                                        
                                        5 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2014-07-10 : 07:42:36
                                            
  | 
                                             
                                            
                                            Hi guys,I am trying to remove from the xml datatype field some rows. I have read many guides but unfortunately it looks i need a little push. It would be appreciated if someone can help me. Here is my code:DECLARE @Xml TABLE (Data XML)DECLARE @Data XMLset @Data=N'<resultset>    <row>        <column name="PieceNo">1</column>        <column name="PieceNoEvalUnit">655360</column>        <column name="PieceIdent">Function check1</column>        <column name="RequestNo">1</column>    </row>    <row>        <column name="PieceNo">2</column>        <column name="PieceNoEvalUnit">655362</column>        <column name="PieceIdent">Function check2</column>        <column name="RequestNo">1</column>    </row>    <row>        <column name="PieceNo">3</column>        <column name="PieceNoEvalUnit">655364</column>        <column name="PieceIdent">Function check3</column>        <column name="RequestNo">1</column>    </row></resultset>'INSERT  INTO @Xml( Data)values(@data)select X.N.value('(column/text())[1]', 'int') as PieceNo,X.N.value('(column/text())[2]', 'int') as PieceNoEvalUnit,X.N.value('(column/text())[3]', 'varchar(255)') as PieceIdent,X.N.value('(column/text())[4]', 'int') as RequestNofrom @Xml as Tcross apply t.Data.nodes(N'/resultset/row') as X(N)--update @xml set data.modify('--delete //row//column[text()][.PieceNo >= sql:variable("2")]--')Let's say for example that i want to delete from xml some rows when PieceNo>=2.Thank you | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     dionisis 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-10 : 07:53:05
                                          
  | 
                                         
                                        
                                          | Oups..Sorry..! i just figured out that this topic is for 2012. Please remove it to the SQL 2008 topicthank you  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     stepson 
                                    Aged Yak Warrior 
                                     
                                    
                                    545 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-10 : 09:17:53
                                          
  | 
                                         
                                        
                                          | [code]UPDATE @xml set Data.modify('delete /resultset/row[column/@name = "PieceNo" and column/text() = sql:variable("@iValue")]')[/code]sabinWeb MCP  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     stepson 
                                    Aged Yak Warrior 
                                     
                                    
                                    545 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-10 : 09:18:31
                                          
  | 
                                         
                                        
                                          | [code]DECLARE @Xml TABLE (Data XML)DECLARE @Data XMLDECLARE @iValue INT = 2set @Data=N'<resultset>    <row>        <column name="PieceNo">1</column>        <column name="PieceNoEvalUnit">655360</column>        <column name="PieceIdent">Function check1</column>        <column name="RequestNo">1</column>    </row>    <row>        <column name="PieceNo">2</column>        <column name="PieceNoEvalUnit">655362</column>        <column name="PieceIdent">Function check2</column>        <column name="RequestNo">1</column>    </row>    <row>        <column name="PieceNo">3</column>        <column name="PieceNoEvalUnit">655364</column>        <column name="PieceIdent">Function check3</column>        <column name="RequestNo">1</column>    </row></resultset>'INSERT  INTO @Xml( Data)values(@data)select X.N.value('(column/text())[1]', 'int') as PieceNo,X.N.value('(column/text())[2]', 'int') as PieceNoEvalUnit,X.N.value('(column/text())[3]', 'varchar(255)') as PieceIdent,X.N.value('(column/text())[4]', 'int') as RequestNofrom @Xml as Tcross apply t.Data.nodes(N'/resultset/row') as X(N)UPDATE @xml set Data.modify('delete /resultset/row[column/@name = "PieceNo" and column/text() = sql:variable("@iValue")]')select X.N.value('(column/text())[1]', 'int') as PieceNo,X.N.value('(column/text())[2]', 'int') as PieceNoEvalUnit,X.N.value('(column/text())[3]', 'varchar(255)') as PieceIdent,X.N.value('(column/text())[4]', 'int') as RequestNofrom @Xml as Tcross apply t.Data.nodes(N'/resultset/row') as X(N)/*select X.N.value('(column/text())[1]', 'int') as PieceNo,X.N.value('(column/text())[2]', 'int') as PieceNoEvalUnit,X.N.value('(column/text())[3]', 'varchar(255)') as PieceIdent,X.N.value('(column/text())[4]', 'int') as RequestNofrom @Xml as Tcross apply t.Data.nodes(N'/resultset/row') as X(N)*/[/code]sabinWeb MCP  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     stepson 
                                    Aged Yak Warrior 
                                     
                                    
                                    545 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-10 : 09:28:38
                                          
  | 
                                         
                                        
                                          replace update withUPDATE @xml set Data.modify('delete /resultset/row[column/@name = "PieceNo" and column[1]/text() >= sql:variable("@iValue")]')sabinWeb MCP  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     dionisis 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-10 : 09:33:39
                                          
  | 
                                         
                                        
                                          | thank you very much stepson..!!  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     stepson 
                                    Aged Yak Warrior 
                                     
                                    
                                    545 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-10 : 09:35:39
                                          
  | 
                                         
                                        
                                          | with welcome!sabinWeb MCP  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     dionisis 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-10 : 11:04:39
                                          
  | 
                                         
                                        
                                          ..and what if i would like to add a where clause to my query?select X.N.value('(column/text())[1]', 'int') as PieceNo,X.N.value('(column/text())[2]', 'int') as PieceNoEvalUnit,X.N.value('(column/text())[3]', 'varchar(255)') as PieceIdent,X.N.value('(column/text())[4]', 'int') as RequestNofrom @tbl as Tcross apply t.tblxml.nodes(N'/resultset/row') X(N)i tried with this but looks that SQL doesn't like it..select X.N.value('(column/text())[1]', 'int') as PieceNo,X.N.value('(column/text())[2]', 'int') as PieceNoEvalUnit,X.N.value('(column/text())[3]', 'varchar(255)') as PieceIdent,X.N.value('(column/text())[4]', 'int') as RequestNofrom @tbl as Tcross apply t.tblxml.nodes(N'/resultset/row') X(N)where X.N.value('(column/text())[1]')>@lastPieceNo  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     dionisis 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-10 : 11:17:51
                                          
  | 
                                         
                                        
                                          it is fine i had to edit my code towhere X.N.value('(column/text())[1]', 'int')>@lastPieceNoty  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |   
     
     
            
              
	     |  
		
			
     
          
		 |