Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server XML声明命名空间_Sql Server_Xml_Xquery_Xml Namespaces - Fatal编程技术网

Sql server SQL Server XML声明命名空间

Sql server SQL Server XML声明命名空间,sql-server,xml,xquery,xml-namespaces,Sql Server,Xml,Xquery,Xml Namespaces,在SQLServer2005中运行XQuery时,我希望默认情况下有几个可用的名称空间,这可能吗 例如,我想做以下工作: select * from TableWithXML where FieldWithXML.exist( declare namespace nsp="http://www.example.com/exampleNamespace"; nsp:root/nsp:childnode) = 1 无需每次都重新声明名称空间,这样SQL就可以识别nsp,而无需每次都包含序言 想法?

在SQLServer2005中运行XQuery时,我希望默认情况下有几个可用的名称空间,这可能吗

例如,我想做以下工作:

select * from TableWithXML
where
FieldWithXML.exist(
declare namespace nsp="http://www.example.com/exampleNamespace";
nsp:root/nsp:childnode) = 1
无需每次都重新声明名称空间,这样SQL就可以识别nsp,而无需每次都包含序言


想法?

只有
xml
xsi
名称空间是您不必声明的预定义名称空间。所有其他名称空间必须在每个查询中明确声明

有两种方法可以声明名称空间:

  • 通过XQuery中的
    declare
    语句
  • 通过TSQL语句上的WITH XMLNAMESPACES子句