用 SQL 查询 DB2 XML 数据
2007-05-20 16:17:17 来源:WEB开发网清单 2. 简单的 SELECT 语句select * from clients
当然也可以编写更具选择性的 SQL 查询,使之包含关系投影和限制操作。下面的查询检索所有具有 "Gold" 状态的客户的 ID、姓名和联系方式。请注意,"contactinfo" 列包含 XML 数据,而其他两列不包含 XML 数据:
清单 3. 带投影和限制的简单 SELECT 语句select id, name, contactinfo
from clients
where status = 'Gold'
正如您所预料,您可以基于这样的查询创建视图,下面的 "goldview" 可以说明这一点:
清单 4. 创建包含 XML 列的视图create view goldview as
select id, name, contactinfo
from clients
where status = 'Gold'
不幸的是,很多事情光用 SQL 是无法解决的。通过纯 SQL 语句可以检索整个 XML 文档(刚才已证明这一点),但是却不能指定基于 XML 的查询谓词,也不能检索 XML 文档的某一部分或者 XML 文档中特定的元素值。换句话说,使用纯 SQL 不能对 XML 文档中的片段进行投影、限制、连接、聚集或排序操作。例如,您不能单独检索 Gold 客户的 email 地址或居住在邮政编码为 "95116" 的地区的客户的姓名。为了表达这些类型的查询,需要使用带 XML 扩展的 SQL(SQL/XML)、XQuery 或结合使用这两种查询语言。
下一节将探讨 SQL/XML 的几个基本特性。在接下来的文章中,我们将学习如何编写 XQuery 以及如何将 XQuery 与 SQL 结合使用。
SQL/XML 查询
顾名思义,SQL/XML 被设计用来为 SQL 和 XML 两者之间搭一座桥。它首先是 SQL 标准的一部分,经过演化现在包括将 XQuery 或 XPath 表达式嵌入 SQL 语句的规范。XPath 是用于导航 XML 文档以便发现元素或属性的一种语言。XQuery 包括对 XPath 的支持。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接