SQL Server XML Объявление пространства имен - PullRequest
2 голосов
/ 21 октября 2009

Я хотел бы иметь несколько пространств имен, доступных по умолчанию при запуске XQuery в SQL Server 2005, возможно ли это?

Например, я хотел бы сделать следующее:

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

Без необходимости каждый раз заново объявлять пространство имен, чтобы SQL каждый раз распознавал nsp без меня, включая пролог.

Мысли

1 Ответ

1 голос
/ 22 октября 2009

Пространства имен xml и xsi являются единственными предопределенными пространствами имен, которые вам не нужно объявлять самостоятельно. Все остальные пространства имен должны быть явно объявлены в каждом запросе.

Существует два способа объявить пространства имен:

  1. через оператор declare внутри XQuery.
  2. через предложение WITH XMLNAMESPACES в операторе TSQL.
...