<img height=”1″ src=”http://blog.csdn.net/studyzy/aggbug/1333517.aspx” width=”1″ alt=””>在SQL Server2005中继续延续了微软在.Net中的设计思想将XML和.Net紧密地结合到其中.用.Net在Sql2005中写存储过程定义函数我还没有研究过,今天就只简单得谈谈XML在SQL2005中的应用.
相对SQLServer2000而言,2005在数据类型上最大的一点改变就是增加了XML这个数据类型.要把这个东西搞懂先就必须要懂XML.
在数据库中xml的定义和使用和一般的数据类型没有多大差别,比如:
- 创建表: create table xmltable(id int primary key,xml1 xml)
- 定义变量:declare @x xml
与一般的数据类型不同的是,xml下面直接提供了方法,可以对其中的数据进行操作.用到的方法有:
query(‘Query’) 方法 此方法用于对 XML 实例进行查询。
假设表xmlTest中有XML一字段xml1=AJAX in Action
value(‘Query’,’type’) 方法 此方法用于从 XML 实例检索 SQL 类型的值。
比如执行:
注意这里是[1]表示第一个数据,不是[0],返回结果:AJAX in Action
exist(‘Query’) 方法 此方法用于确定查询是否返回非空结果。
比如执行: 返回0,这里是查询/book/id,无法找到 比如执行: after (/book/price)[1] ‘);这样就可以往原xml数据中插入一个属性,当然运行结果是: AJAX in Action