代码之家  ›  专栏  ›  技术社区  ›  Andrew Theken Tan Li Hau

SQL Server XML声明命名空间

  •  2
  • Andrew Theken Tan Li Hau  · 技术社区  · 15 年前

    在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,而不必每次都包含prolog。

    思想?

    1 回复  |  直到 12 年前
        1
  •  1
  •   Zoltan Toth    12 年前

    这个 xml xsi 名称空间是唯一不必声明自己的预定义名称空间。所有其他命名空间必须在每个查询中明确声明。

    声明命名空间有两种方法:

    1. 通过 declare XQuery中的语句。
    2. 通过TSQL语句上的WITH XMLNAMESPACES子句。