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表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
本机电脑上有安装ORACLE10G的客户端,后来由于需要玩了一下ODAC,后来又卸载掉了。结果,使用C#进行连接的时候报:
未在本地计算机注册“OraOLEDB.Oracle.1”提供程序
然后,新建一个UDL进行测试,发现Oracle Provider & ......
1、创建表空间
CREATE TABLESPACE mytablespace DATAFILE
'F:\oracle\product\10.2.0\oradata\myoracle\MYTABLESPACE01.DBF' SIZE 500M AUTOEXTEND ON NEXT
100M MAXSIZE UNLIMITED
LOGGING
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCAT ......
Name:JDBC-DEV1
JNDI Name:jdbc.datasource.DS1
AdminServer
Row Prefetch Size: 48
Stream Chunk Size:256
URL:jdbc:oracle:thin:@192.168.0.118:1521:AAT
Driver Class Name:oracle.jdbc.OracleDriver
连接oracle及postgresql的连接字符串
package com.lwf.eus.util;
import java.sql.Conn ......
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 ......