oracle的model用法简介

oracle的model用法简介

ID:34725148

大小:57.35 KB

页数:5页

时间:2019-03-10

oracle的model用法简介_第1页
oracle的model用法简介_第2页
oracle的model用法简介_第3页
oracle的model用法简介_第4页
oracle的model用法简介_第5页
资源描述:

《oracle的model用法简介》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Oracle的model用法简介2010-04-2210:15Model语句是Oracle10g的新功能之一。 本文通过一些简单的例子帮助理解Model语句的用法,复杂使用场景请参考其他文章。环境:当然需要Oracle10g以上,本人是在11g上测试的。1.什么是model语句 model语句是Oracle10g的新功能,可以在select语句里面像其他编程语言操作数组一样,对SQL的结果集进行处理。执行顺序是位于Having之后。select的解析执行顺序1.from语句2.where语句(结合条件)3.startwith语句4.connectb

2、y语句5.where语句6.groupby语句7.having语句8.model语句9.select语句10.union、minus、intersect等集合演算演算11.orderby语句model的好处 Oracle9i为止,需要使用各种计算分析函数,unionall等,以及借助其他开发语言(C#及Java等)进行复杂计算统计合并等。使用Model之后,这些都可以在SQL里面进行了。 model典型使用场景。1.合计行追加2.行列变换3.使用当前行的前后行4.RegExp_Replace函数的循环执行2.HelloWorld 先看一个简单的例子

3、。例句1selectArrValue,soejifrom(select'abcdefghijklmn'asArrValue,1assoejifromdual)modeldimensionby(soeji)measures(ArrValue)rules(ArrValue[1]='HelloWorld');结果:ArrValuesoejiHelloWorld1说明:modelmodel语句的关键字,必须。dimensionby dimension维度的意思,可以理解为数组的索引,必须。measures指定作为数组的列rules 对数组进行各种操作的描述

4、。例句1的理解: select'abcdefghijklmn'asArrValue,1assoejifromdual;上面子查询的结果:ArrValue      soejiabcdefghijklmn1根据下面语句modeldimensionby(soeji)measures(ArrValue)soeji作为索引对数组ArrValue进行操作,rules(ArrValue[1]='HelloWorld')就是说用HelloWorld覆盖ArrValue[1]里面的值。在看一个例子,例句2:selectArrValue,soejifrom(sele

5、ct'abcdefghijklmn'asArrValue,1assoejifromdual)modeldimensionby(soeji)measures(ArrValue)rules(ArrValue[1]='HelloWorld',ArrValue[2]='Hellomodel');执行结果:ArrValue      soejiHelloWorld1Hellomodel2 rules的缺省行为是存在就更新,不存在则追加,因此,ArrValue[1]='HelloWorld'是更新一条,ArrValue[2]='HelloModel'inser

6、t一条。 再看一个例子,例句3:selectArrValue,soejifrom(select'abcdefghijklmn'asArrValue,1assoejifromdual)modeldimensionby(soeji)measures(ArrValue)rules(ArrValue[3]='HelloOracle');结果是:ArrValue      soejiabcdefghijklmn1HelloOracle3 model语句里面,索引可以是不连续的。再看一个例子,例句4:selectArrValue,soejifrom(selec

7、t'abcdefghijklmn'asArrValue,1assoejifromdual)modelreturnupdatedrowsdimensionby(soeji)measures(ArrValue)rules(ArrValue[4]='HelloCodeZine');结果是:ArrValue      soejiHelloCodeZine4 使用modelreturnupdatedrows的话,被rules更新或者插入的行才显示,没有更新过的行不再作为SQL的结果。再来一个,有下表,希望在检索结果后面加一个合计行:addTotalIDVal

8、13021003504300 selectID,ValfromaddTotalmodeldimensionby(ID)me

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。