2017-10-24 2 views
2

SQL Server 테이블에 XML 열이 있습니다.특성 값을 기준으로 SQL Server 테이블의 XML 열에서 행 삭제

데이터는 다음과 같습니다

<ColumnLayout> 
    <LayoutColumns> 
     <Column PropertyId="43" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" /> 
     <Column PropertyId="12" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" /> 
     <Column PropertyId="41" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" /> 
     <Column PropertyId="16" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" /> 
     <Column PropertyId="23" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" /> 
     <Column PropertyId="94" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" /> 
     <Column PropertyId="98" ColumnWidth="0" IsHidden="false" IsDefaultColumn="false" /> 
    </LayoutColumns> 
</ColumnLayout> 

내가 PropertyId = 43을 포함하는 열 노드를 삭제할.

쿼리를 수행하고 해당 테이블의 XML 열을 업데이트하는 방법은 무엇입니까?

답변

3

그냥 delete 명령을 사용하여 XQuery를 .modify() 방법을 사용하십시오

UPDATE dbo.YourTable 
SET Content.modify('delete /ColumnLayout/LayoutColumns/Column[@PropertyId=43]')