知识大全 利用Oracle10g的MODELSQL进行行间计算(一)
Posted 产品
篇首语:挨金似金,挨玉似玉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用Oracle10g的MODELSQL进行行间计算(一)相关的知识,希望对你有一定的参考价值。
利用Oracle10g的MODELSQL进行行间计算(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
利用Oracle g的 MODEL SQL进行行间计算
以产品产量表为例 一个工厂(用code表示)生产多种产品(用p_id表示) 每种产品具有生产量(v )和销售量(v )
产品代码具有审核关系 比如 = + 其中 代表大类 和 代表 大类下的小类
SQL> create table t (code varchar( ) p_id varchar( ) v number( ) v number( )); Table created SQL> insert into t values( ); SQL> insert into t values( ); SQL> insert into t values( ); SQL> insert into t values( ); SQL> insert into t values( ); SQL> insert into t values( ); SQL> mit; Commit plete SQL> select * from t ; CODE P_ID V V rows selected SELECT code p_id v FROM t WHERE code IN ( ) MODEL RETURN UPDATED ROWS PARTITION BY (code) DIMENSION BY (p_id) MEASURES (v ) RULES ( v [ err ] = v [ ] + v [ ] v [ ]) ORDER BY code p_id;
其中rule表示计算规则 err 表示这条审核关系的代号 它的值等于P_ID为 的v 值+P_ID为 的v 值 P_ID为 的v 值
PARTITION BY (code)表示按工厂分区 即审核在一个工厂内的产品
MODEL 关键字后面的 RETURN UPDATED ROWS 子句将结果限制为在该查询中创建或更新的那些行 使用该子句是使结果集只包含新计算的值 在本例中就是审核结果
CODE P_ID V err err
如果返回值= 表示v [ ] + v [ ] =v [ ]审核通过 否则 审核不通过
SELECT code p_id v v FROM t WHERE code IN ( ) MODEL RETURN UPDATED ROWS PARTITION BY (code) DIMENSION BY (p_id) MEASURES (v v ) RULES ( v [ err ] = v [ ] + v [ ] v [ ] v [ err ] = v [ ] + v [ ] v [ ]) ORDER BY code p_id; CODE P_ID V V err err
如果表格中包含多个维度的数据 比如时间 多个维度都可以编写规则 比如 年的审核关系
SELECT year code p_id v FROM t _ WHERE code IN ( ) MODEL RETURN UPDATED ROWS PARTITION BY (code) DIMENSION BY (p_id year) MEASURES (v ) RULES ( v [ err ] = v [ ] + v [ ] v [ ]) ORDER BY code p_id; YEAR CODE P_ID V err err
如果维度不影响规则 也可以只分区 而沿用原来的规则
SELECT year code p_id v FROM t _ WHERE code IN ( ) MODEL RETURN UPDATED ROWS PARTITION BY (code year) DIMENSION BY (p_id) MEASURES (v ) RULES ( v [ err ] = v [ ] + v [ ] v [ ]) ORDER BY code p_id; YEAR CODE P_ID V err err SQL> create table t _ as select * from t _ ; Table created SQL> insert into t _ select year code p_id v v from t _ ; rows created
如果表中具有多个年份的数据 每个年份的审核结果都能显示
cha138/Article/program/Oracle/201311/16914相关参考
知识大全 Oracle10G中的回收站的详细说明如何利用问题
Oracle10G中的回收站的详细说明如何利用问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Oracle的虚拟私有数据库特性(也称作细颗粒度存取控制)对诸如SELECT等数据管理语言DML语句提供行级安全性检查PL/SQL策略函数和某个数据表相关联这个函数可以检查当前用户的上下文背景并添
知识大全 Oracle10g跨越Resetlogs时间点进行恢复
Oracle10g跨越Resetlogs时间点进行恢复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
Oracle10g中管理物化视图变得更加容易 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 利用
Oracle认证:Oracle10g恢复试验方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!看了
在linux下安装oracle是一件令人生畏的事情其复杂程度远远超过安装linux操作系统本身如果能够进行成功的安装oracle那么同时也就顺便掌握了linux一些技术本文介绍在redhatlin
Oracle10g的current 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前几天有一个朋
Oracle10g中current 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 以下的文章主要
Oracle10G常用维护语句 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 创建表空间
Oracle10G启用闪回功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! [oracle@l