문제

SQL Server 2005에서 XQuery를 실행할 때 기본적으로 몇 가지 네임 스페이스를 사용할 수 있습니다. 이것이 가능합니까?

예를 들어 다음을 수행하고 싶습니다.

select * from TableWithXML
where
FieldWithXML.exist(
declare namespace nsp="http://www.example.com/exampleNamespace";
nsp:root/nsp:childnode) = 1

매번 네임 스페이스를 다시 고려하지 않으면 서 SQL이 매번 프롤로그를 포함하지 않고 NSP를 인식하게됩니다.

생각?

도움이 되었습니까?

해결책

그만큼 xml 그리고 xsi 네임 스페이스는 자신을 선언 할 필요가없는 유일한 사전 정의 된 네임 스페이스입니다. 다른 모든 네임 스페이스는 모든 쿼리에서 명시 적으로 선언해야합니다.

네임 스페이스를 선언하는 두 가지 방법이 있습니다.

  1. TH를 통해 declare XQuery 내부의 진술.
  2. tsql 문의 xmlnamespaces 절단을 통해.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top