易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE MODEL子句学习笔记

ORACLE 10G中新增的MODEL子句可以用来进行行间计算。MODEL子句允许像访问数组中元素那样访问记录中的某个列。这就提供了诸如电子表格计算之类的计算能力。
 
1、MODEL子句示例
下面这个查询获取2003年内由员工#21完成的产品类型为#1和#2的销量,并根据2003年的销售数据预测出2004年1月、2月、3月的销量。
 
select prd_type_id,year,month,sales_amount
from all_sales
where prd_type_id between 1 and 2
and emp_id=21
model
partition by (prd_type_id)
dimension by (month,year)
measures (amount sales_amount)
(
Sales_amount[1,2004]=sales_amount[1,2003],
Sales_amount[2,2004]=sales_amount[2,2003] + sales_amount[3,2003],
Sales_amount[3,2004]=ROUND(sales_amount[3,2003]*1.25,2)
)
Order by prd_type_id,year,month;
 
现在小分析一下上面这个查询:
partition by (prd_type_id)指定结果是根据prd_type_id分区的。
dimension by (month,year)定义数组的维度是month和year。这就意味着必须提供月份和年份才能访问数组中的单元。
measures (amount sales_amount)表明数组中的每个单元包含一个数量,同时表明数组名为sales_amount。
MEASURES之后的三行命令分别预测2004年1月、2月、3月的销量。
Order by prd_type_id,year,month仅仅是设置整个查询返回结果的顺序。
上面这个查询的输出结果如下:
PRD_TYPE_ID       YEAR      MONTH SALES_AMOUNT
----------- ---------- ---------- ------------
          1       2003          1     10034.84
          1       2003          2     15144.65
          1       2003          3     20137.83
          1       2003   &


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle未提供相应驱动

  本机电脑上有安装ORACLE10G的客户端,后来由于需要玩了一下ODAC,后来又卸载掉了。结果,使用C#进行连接的时候报:
        未在本地计算机注册“OraOLEDB.Oracle.1”提供程序
  然后,新建一个UDL进行测试,发现Oracle   Provider & ......

ORACLE 时间字段排序问题

 ORACLE 时间字段排序问题
早上在弄EXT排序的时候,因为数据库ID是STRING的,因此在command类里多了一个integer idSort字段,
没想到,根据这个整型的字段进行排序也不行,因为EXT分页出来的虽然是根据这个整型字段排序了。但是
各个页面没有完全的统一排序。
因此,在DAO里写了如下HQL语句:
select tbl from Tr ......

Oracle查詢歷史操作記錄

 1.以sysdba身份進入
 2.show parameter audit
 3.alter system set audit_sys_operations = true scope = spfile
 4.alter system set audit_trail = db,extended scope = spfile
 5.startup force
 6.show parameter audit
 7.audit select table,insert table,delete ta ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号