知识大全 利用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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 如何利用oracle10g的列值掩码技术隐藏

  Oracle的虚拟私有数据库特性(也称作细颗粒度存取控制)对诸如SELECT等数据管理语言DML语句提供行级安全性检查PL/SQL策略函数和某个数据表相关联这个函数可以检查当前用户的上下文背景并添

知识大全 Oracle10g跨越Resetlogs时间点进行恢复

Oracle10g跨越Resetlogs时间点进行恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Oracle 10g 中管理物化视图变得更加容易

Oracle10g中管理物化视图变得更加容易  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  利用

知识大全 Oracle10g恢复试验方法

Oracle认证:Oracle10g恢复试验方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!看了

知识大全 安装0racle10g的艰难之旅

  在linux下安装oracle是一件令人生畏的事情其复杂程度远远超过安装linux操作系统本身如果能够进行成功的安装oracle那么同时也就顺便掌握了linux一些技术本文介绍在redhatlin

知识大全 Oracle10g的current

Oracle10g的current  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前几天有一个朋

知识大全 Oracle10g中current

Oracle10g中current  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以下的文章主要

知识大全 Oracle10G常用维护语句

Oracle10G常用维护语句  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  创建表空间    

知识大全 Oracle10G启用闪回功能

Oracle10G启用闪回功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  [oracle@l