谁有使用Sqlserver2005 的xml数据类型进行检索 20CSDN]

发布时间:2016-12-8 15:58:02 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"谁有使用Sqlserver2005 的xml数据类型进行检索 20CSDN]",主要涉及到谁有使用Sqlserver2005 的xml数据类型进行检索 20CSDN]方面的内容,对于谁有使用Sqlserver2005 的xml数据类型进行检索 20CSDN]感兴趣的同学可以参考一下。

分享一下经验  thanks

至少DDL触发器,你就需要使用~

用过一些xquery的检索 SELECT EventId, Time , Detail.value('(/AuditDetail/AfterValue)[1]', 'varchar(40)') as Record , EventUserName CreatedBy FROM customeventlog where eventcode = 100005

我用得最多的是for xml生成xml数据

我做过一个实验,在1万行以下的数据库表下,每行拥有一个150个节点的平均大小为8k的xml实例,按日期型,数值型,布尔型,字符串型做索引,效率不错(2秒以内,在PC机上)。 但到了10万行时,效率很差,一般的查询需要几十秒。

对于xml我从来都没有使用过 ================================== =  CSDN助手 全面支持CSDN论坛     = =  监视、收藏、历史、签名走马灯  = ==================================

学习啊

create table T (C1 int primary key IDENTITY(1,1),  XmlCol xml) Go --插入新纪录 INSERT T VALUES(N'<Product ProductID="1" SupplierID="1"> <Grade>优</Grade> <Price>123</Price><Stock warehouse="1">200</Stock> <Stock warehouse="2">200</Stock> <Description>产品甲可用来....</Description> </Product>') INSERT T VALUES(N'<Product ProductID=''2'' SupplierID=''1''/>') INSERT T VALUES(N'<Product ProductID="3" SupplierID="2"><Grade>甲</Grade> <Price>456</Price><Stock warehouse="2">100</Stock><Description>产品丙是....</Description></Product>') INSERT T VALUES(N'<Product ProductID="4" SupplierID="3"/>') GO select * from T GO SELECT XmlCol.query(' /Product/Stock[@warehouse="1"] ') StockNum FROM T GO SELECT C1,XmlCol FROM T WHERE XmlCol.exist('/Product[@SupplierID="1"]')=1 GO SELECT C1, XmlCol.value('([email protected])[1]','int') 产品编号,  XmlCol.value('(/Product/Price)[1]','int') 价格,  XmlCol.value('(/Product/Stock)[1]','int') 仓库一库存量,  XmlCol.value('(/Product/Stock)[2]','int') 仓库二库存量 FROM T GO DROP TABLE T GO

此是胡百敬书中的例子 请参考

上一篇:存储过程执行存储过程 20FEB15]
下一篇:怎样将远程SQL SERVER上的数据库备份到本地机上(不破坏表结构(如主键不丢失))? 20CSDN]

相关文章

相关评论