SQL Server의 Xml 데이터 형식을 사용하여 xml을 저장하는 열이 있습니다. 또한, 내가 제거하려는 xml에서 단일 노드를 선택할 수있는 Xpath 쿼리가 있습니다. 그래서, 내 질문은 거기에있는 모든 XML 열을 제외하고 내가 제거 할 필요가있는 특정 특정 노드를 선택하는 것입니다? 제거 할 노드를 선택할 수는 있지만 나머지 XML에서 제거하고 나머지는 그대로 두는 방법을 찾을 수 없습니다. 누구든지 SQL Server Xml 함수를 사용하여이 작업을 수행하는 방법에 대한 지침을 제공 할 수 있다면 크게 감사하겠습니다.모두 선택 xml 하나의 특정 노드 제외 SQL Server
답변
당신은 이런 식으로 작업을 수행 할 수 있습니다
DECLARE @xml XML
SELECT @xml = YourXmlField
FROM YourTable
WHERE ID = 1
SET @xml.modify('delete /Root/A')
SELECT @xml
그래서, 노드 제거하기위한 적절한 XPath를 제공하는 XML 변수에 값을 넣어 노드를 삭제하는 수정 사용해야합니다.
응답 해 주셔서 감사합니다! 나는 당신이 말한 것을 시도하고 나는이 오류를 가지고있다. XML 데이터 유형 메소드 'modify'의 부정확 한 사용. 이 컨텍스트에서는 비 뮤 테이타 메소드가 필요합니다. 다음은 오류를 생성하는 XQuery 코드 줄입니다. pXml.modify ('delete/variation/section/layout/area [@type = "Image"및 @mode = "logo"및 @previewimage, ".jpg")] ') –
XML 변수를 사용하여 * exact * 접근 방식을 시도 했습니까? 잘못된 방식으로 '수정'을 사용하면 오류가 발생합니다 (예 : 당신이 그것을 SELECT에서 직접하려고한다면. UPDATE..SET.의 일부로 만 사용하거나 XML 변수에서 SET의 일부로 사용할 수 있습니다. – AdaTheDev
멋지다! 당신 말이 맞아, 나는 그것을 select 문에서 사용했다. 나는 당신이 말한대로 수정했고 완벽하게 작동합니다! –
- 1. sql-xml : 노드 컬렉션 선택
- 2. sql 하나의 테이블에만 모두 선택
- 3. SQL Server .nodes() 이름으로 XML 부모 노드
- 4. LINQ-to-XML : 특정 노드 값 선택
- 5. xml 트리에서 특정 노드 그룹 선택 - xpath
- 6. XML 문자열 - 특정 노드 만 선택
- 7. XML 노드 선택?
- 8. SQL Server 2005에서 변환으로 XML 노드 업데이트
- 9. SQL Server 제외
- 10. 선택 XML 노드
- 11. XSLT를 사용하여 XML 빈 노드 제외
- 12. SQL Server 질문 선택
- 13. SQL 서버 XML 노드 업데이트
- 14. xml 열에서 하나의 값 선택
- 15. PHP에서 속성으로 xml 노드 선택
- 16. 특정 노드 아래 xml 노드 수
- 17. SQL Server XML 쿼리?
- 18. 특정 XML 노드 값로드 C#
- 19. 특정 XML 노드 만 정렬하기
- 20. linq to xml 특정 요소가있는 노드 만 선택
- 21. SQL Server 2008 : XML 질문
- 22. SQL Server : 쿼리의 첫 번째 결과를 제외하고 모두 선택
- 23. XML 파일 읽기 및 .NET에서 노드 선택
- 24. Sql Server 수정 선택
- 25. 하나의 특정 끝점에 대한 WCF ServiceBehaviorExtension 제외
- 26. SQL, XML 삽입 여러 노드
- 27. 여러 조건을 충족하는 특정 노드 선택
- 28. TIBCO BusinessWorks에서 특정 XML 노드 제거
- 29. SQL Server 2005와 SQL Server 2008을 모두 설치해야합니까?
- 30. XML 경로 용 SQL Server
코드를 표시하십시오. – Hogan