扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:IT专家网 戴羽 来源:天新网 2008年3月25日
关键字: 数据库 Mssql SQL SQL Server
XML 数据类型还提供了一些方法,使得你可以使用它们来查询和操纵实例的XML数据。例如,你可以使用query 方法来查询xml 数据类型的一个实例的XML数据,如下面的示例所示:
declare @x xml set @x= '<Invoices> <Invoice> <Customer>Kim Abercrombie</Customer> <Items> <Item ProductID="2" Price="1.99" Quantity="1" /> <Item ProductID="3" Price="2.99" Quantity="2" /> <Item ProductID="5" Price="1.99" Quantity="1" /> </Items> </Invoice> <Invoice> <Customer>Margaret Smith</Customer> <Items> <Item ProductID="2" Price="1.99" Quantity="1"/> </Items> </Invoice> </Invoices>' SELECT @x.query( '<CustomerList> { for $invoice in /Invoices/Invoice return $invoice/Customer } </CustomerList>') |
这个例子中的查询使用了一个XQuery 表达式,这个表达式找出文档中的每一个Invoice 元素,并返回一个包含每一个Invoice 元素的Customer元素的XML文档,如下面的示例所示:
<CustomerList> <Customer>Kim Abercrombie</Customer> <Customer>Margaret Smith</Customer> </CustomerList> |
SQL Server 2005中的另外一个显著的与XML相关的特性是对XML索引的支持。你可以为类型化xml的列创建首要和次要的XML索引来增强XML查询性能,一个首要的XML索引是一个XML实例的所有节点的部分表示,查询处理器可以使用它来快速的找到一个XML值中的节点。在你创建了一个首要的XML索引之后,你可以创建次要的XML索引来提高特定的查询类型的性能。下面的示例创建了一个首要的XML索引,和一个PATH类型的次要XML索引,它可以提高使用XPath表达式来标识一个XML实例中的节点的查询的性能。
CREATE PRIMARY XML INDEX idx_xml_Notes ON SalesOrders (Notes) GO CREATE XML INDEX idx_xml_Path_Notes ON SalesOrders (Notes) USING XML INDEX idx_xml_Notes FOR PATH GO |
婵″倹鐏夐幃銊╂姜鐢瓕鎻╅崚鍥╂畱閹厖绨$憴顤廡妫板棗鐓欓張鈧弬棰侀獓閸濅椒绗岄幎鈧張顖欎繆閹垽绱濋柇锝勭疄鐠併垽妲勯懛鎶姐€婄純鎴炲Η閺堫垶鍋栨禒璺虹殺閺勵垱鍋嶉惃鍕付娴f娊鈧柨绶炴稊瀣╃閵嗭拷