看看ColdFusion MX的再查询功能

ZDNet软件频道 时间:2003-07-17 作者:ZDNet China |  我要评论()
本文关键词:
在ColdFusion MX 中,再查询的功能得到了相当大的扩展。我将为你展示如何使用再查询功能,并演示它怎样轻易的解决一些问题。
本文译自Builder.com,未经许可请勿转载Macromedia 介绍的ColdFusion 5 的特性之一就是在已经得到查询结果集中再次执行SQL语句。这个功能称为“再查询”(Query of Queries)。在ColdFusion MX 中,再查询的功能得到了相当大的扩展。我将为你展示如何使用再查询功能,并演示它怎样轻易的解决一些问题。

使用再查询

每个ColdFusion开发者都熟悉<cfquery>标签,它可以让你执行基于任何数据库的SQL语句。

看看这个简单的例子:
 
<cfquery name="getCustomers" datasource="customerDB">
select
    customerID,
    customerName,
    customerState
from
     customers
order by
customerState    
</cfquery>


运行这个查询会产生一个记录集,请参考插图A。

Figure A

Sample query

通过再查询,我可以针对结果集执行额外的SQL语句。下面的例子将返回getCustomers记录集中最大的customerID。注意<cfquery>标签中的dbtype属性是设定查询的,它告诉CF服务器你将执行一个再查询。

<cfquery name="getMaxCustomerID" dbtype="query">
select
max( customerID ) as maxCustomerID,
customerName
from
getCustomers
</cfquery>


需要注意的是再查询不能全面的支持ANSI标准的SQL语法规范。但是,它还是可以支持很多通用的SQL命令和集合函数。WHERE 子句中也可以使用象LIKE、 IN、和BETWEEN这样的条件;同时也支持Min()、Max()、Avg()、Count()、Sum()这样的集合函数。你也可以灵活的使用ORDER BY和GROUP BY 子句,也可以使用INNER JOINS、OUTER JOINS和UNIONS。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134