SQL Server XML宣言名前空間
-
05-07-2019 - |
質問
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
名前空間は、自分で宣言する必要がない唯一の定義済みの名前空間です。他のすべての名前空間は、すべてのクエリで明示的に宣言する必要があります。
名前空間を宣言するには2つの方法があります:
- XQuery内の
declare
ステートメント経由。 - TSQLステートメントのWITH XMLNAMESPACES句を使用。
所属していません StackOverflow