快速业务通道

跨多个数据源的J2EE开发: 细节探讨 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
BLE) DATA CAPTURE NONE; -- for joined query #6 DROP TABLE temp_jquery3a; CREATE TABLE temp_jquery3a(c_custkey INTEGER,               c_name VARCHAR(25),               c_acctbal DOUBLE) DATA CAPTURE NONE; DROP TABLE temp_jquery3b; CREATE TABLE temp_jquery3b(o_custkey INTEGER,               total_order DOUBLE,               num_order INTEGER) DATA CAPTURE NONE; -- new table for joined query #6 DROP TABLE temp_jquery3; CREATE TABLE temp_jquery3(c_custkey INTEGER,               c_name VARCHAR(25),               c_acctbal DOUBLE,               total_order DOUBLE,               num_order INTEGER) DATA CAPTURE NONE;

跨多个数据源的J2EE开发: 细节探讨(15)

时间:2011-04-11 IBM C. M. Saracco

附录 C. 目标 SQL 查询

在我们的第一篇文章中,介绍了一些我们的 servlet 需要实现的查询。这里我们也包 含了这些查询,以供参考。请注意以下所示的 SQL 语句是概念性的。例如,它们出示了特 定的搜索谓词;但在实际的实现过程中,我们使用了参数标记以使查询更加灵活。另外, 我们把它们编写得好像所有的数据都驻留在一个单一的数据库中;如您所知,我们的数据 实际上是驻留在三个不同的数据源上的。

查询 1 到 3 模拟一个在线目录搜索应用程序。前两者使用户能够找到带有某些特性的 部件,然后确定所选择的部件在某个给定的国家或地区中价格最低的供应商。第三个查询 确定该用户是否属于一段给定时间里最佳的 10 名客户之一,如果是的话,他(或她)可 能有资格得到免费送货或者打折优惠。

查询 4 和 5 支持业务分析工作,这种工作可能出现在合并后方案中。它们试图在两个 或更多新合并的公司中识别共同客户,这些客户具有一些共同的有趣的特点 - 或许他们 都具有某种目标客户统计特征、居住在竞争激烈的地域、发出了大的订单等等。

当阅读我们这里的查询时,您应该假定在 FROM 子句中引用的对象包括来自所有数据源 的数据,除非它的名称中带有特定数据源名的前缀。例如,我们使用“part”来表示合并 公司的所有部件数据,不论这些数据驻留在哪里。我们使用“db2_customer”来表示特定 于某个合并前的公司(在本例中,是一个使用 DB2 UDB 作为其 DBMS 的公司)的客户数据 。

查询 1:查找一个感兴趣的 partkey。

select p_name, p_mfgr, p_type, p_partkey from part where p_type like ''%BURNISHED%'' and p_name like ''%lavender%'' order by p_partkey fetch first 20 rows only;

查询 2:为一个特定的 partkey(例如“28”)搜索在一个给定国家或地区(例如 “GERMANY”)中价格最便宜的供应商

select ps_partkey, s_name, s_suppkey, min(ps_supplycost) from partsupp, supplier, nation where ps_partkey = 28 and ps_suppkey = s_suppkey and s_nationkey = n_nationkey and n_name = ''GERMANY'' group by ps_partkey,s_name, s_suppkey;

查询 3:奖励那些在一个给定的时间段内发出了大规模订单的客户

select sum(o_totalprice)as totalordered , count(*) as num_orders, c_custkey, c_name from customer, orders where o_custkey = c_custkey and O_ORDERDATE >= DATE(''1997-10-01'') and O_ORDERDATE < DATE(''1998-10-01'') group by c_custkey, c_name order by totalordered desc fetch first 10 rows only;

查询 4:从选定的国家或地区里查找一个部分中的客户,这些客户从另一个部分发

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号