您的位置:首页 > 产品设计 > UI/UE

DB2 9 底子(730 磨练)认证指南,第 7 部分: XQuery 简介(3)

2011-03-07 00:09 453 查看








示例数据库环境

为了帮忙您学习 XQuery,本教程建立一个包括 XML 文档的 “clients” 示例表。上面几节具体地评释这个表及其内容,并描绘 DB2 供给的可以用来执行 XQuery 的效果。

如果进展在本身的 DB2 系统中设置这个示例表和内容,那么可以运用脚本 tutorial.sql。它包括本节所示的一切代码。

示例表

示例中的 clients 表包括几个传统 SQL 数据典范(例如整数和可变长度的字符串)的列,尚有一个新的 SQL “XML” 数据典范的列。

前三列记载客户的 ID、姓名和形态信息。status 列的典范值搜罗
Gold
Silver
Standard
。第四列包括每个客户的联结信息,例如家庭的邮政所在、电话号码、电子邮件所在等等。这些信息存储在良构的 XML 文档中。

上面是 clients 表的定义:

清单 9. clients 表的定义

create table clients(
id 		int primary key not null,
name 		varchar(50),
status 		varchar(10),
contactinfo 	xml
);


示例 XML 文档

在研讨怎样编写针对这个表的 XQuery 之前,需求用一些示例数据添补它。上面的 SQL 语句将 6 行数据拔出 clients 表。每行都包括一个 XML 文档,每个 XML 文档的构造都有所分歧。例如,有的客户有电子邮件所在,而其他客户没有。

清单 10. clients 表的示例数据

insert into clients values (3227, 'Ella Kimpton', 'Gold',
'<Client>
<Address>
<street>5401 Julio Ave.</street>
<city>San Jose</city>
<state>CA</state>
<zip>95116</zip>
</Address>
<phone>
<work>4084630000</work>
<home>4081111111</home>
<cell>4082222222</cell>
</phone>
<fax>4087776666</fax>
<email>love2shop@yahoo.com</email>
</Client>'
);
insert into clients values (8877, 'Chris Bontempo', 'Gold',
'<Client>
<Address>
<street>1204 Meridian Ave.</street>
<apt>4A</apt>
<city>San Jose</city>
<state>CA</state>
<zip>95124</zip>
</Address>
<phone>
<work>4084440000</work>
</phone>
<fax>4085555555</fax>
</Client>'
);
insert into clients values (9077, 'Lisa Hansen', 'Silver',
'<Client>
<Address>
<street>9407 Los Gatos Blvd.</street>
<city>Los Gatos</city>
<state>CA</state>
<zip>95032</zip>
</Address>
<phone>
<home>4083332222</home>
</phone>
</Client>'
);
insert into clients values (9177, 'Rita Gomez', 'Standard',
'<Client>
<Address>
<street>501 N. First St.</street>
<city>Campbell</city>
<state>CA</state>
<zip>95041</zip>
</Address>
<phone>
<home>4081221331</home>
<cell>4087799881</cell>
</phone>
<email>golfer12@yahoo.com</email>
</Client>'
);
insert into clients values (5681, 'Paula Lipenski', 'Standard',
'<Client>
<Address>
<street>1912 Koch Lane</street>
<city>San Jose</city>
<state>CA</state>
<zip>95125</zip>
</Address>
<phone>
<cell>4085430091</cell>
</phone>
<email>beatlesfan36@hotmail.com</email>
<email>lennonfan36@hotmail.com</email>
</Client>'
);
insert into clients values (4309, 'Tina Wang', 'Standard',
'<Client>
<Address>
<street>4209 El Camino Real</street>
<city>Mountain View</city>
<state>CA</state>
<zip>95033</zip>
</Address>
<phone>
<home>6503310091</home>
</phone>
</Client>'
);


查询环境

本教程中的一切查询都设计为交互式地执行。可以经过议定 DB2 号令行处置步伐或 DB2 Control Center 的 DB2 Command Editor 执行这些查询。本教程中的示例运用 DB2 号令行处置步伐。(DB2 还供给了基于 Eclipse 的 Developer Workbench,可以帮忙您以图形化体式款式构造 XQuery,然则对 Developer Workbench 的评论斗嘴超越了本教程的规模。)

可以改削 DB2 号令行处置步伐的默许设置,以便更随意纰漏处置 XML 数据。例如,上面的号令(从一个 DB2 号令窗口中收回)将以某种体式款式启动 DB2 号令行处置步伐,这种体式款式让 XQuery 成绩以随意纰漏阅读的款式表现:

清单 11. 设置 DB2 号令行处置选项

db2 -i -d


这个号令使 DB2 在表现的 XQuery 成绩中增添分外的空白。DB2 实践上并不将这些空白添加到数据中。运用步伐看到的前去条目中也没有分外的空白 —— 这些空白只出如今 DB2 号令行处置步伐窗口中。

版权声明:
原创作品,赞成转载,转载时请务必以超链接方法标明文章 原始来因 、作者信息和本声明。否则将穷究功令责任。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐