分析函数——keep(dense_rank first/last)
销售表:SQL> select * from criss_sales where dept_id = 'D02' order by sale_date ; DEPT_ID SALE_DATE GOODS_TYPE SALE_CNT------- ----------- ---------- -----------D02 2014/3/6 G00 500D02 &nb...
分析函数——NTILE(n)
分析函数——NTILE函数的使用。
分析函数——FIRST_VALUE()和LAST_VALUE()
FIRST_VALUE()和LAST_VALUE()字面意思已经很直观了,取首尾记录值。例:查询部门最早发生销售记录日期和最近发生的销售记录日期SQL> select *from criss_sales order by dept_id,sale_date; DEPT_ID SALE_DATE GOODS_TYPE SALE_CNT------- ----------- ---------- -----------D01 &n...
分析函数——NULLS FIRST/LAST
通过RANK()、DENSE_RANK()、ROW_NUMBER()对记录进行全排列、分组排列取值但有时候,会遇到空值的情况,空值会影响得到的结果的正确性例:销售表:SQL> select * from criss_sales; DEPT_ID SALE_DATE GOODS_TYPE SALE_CNT------- ----------- ---------- -----------D01 201...
分析函数——统计
很多需求中都涉及到统计:均值、累计、范围均值、相邻记录比较等。这些操作会统计多次,或有明确的统计范围,或返回的记录统计的数据集不同...根据场景不同可分为如下几类: 1. 全统计 2. 滚动统计 3. 范围统计 4. (相邻)行比较构建测试数据:SQ...
分析函数——排序排列(rank、dense_rank、row_number)
分析函数——rank、dense_rank、row_number
分析函数概述
先通过一个例子,直观的感受下分析函数的简洁方便构造数据:销售表:create table CRISS_SALES( DEPT_ID VARCHAR2(6), --部门号 SALE_DATE DATE, --销售日期 GOODS_TYPE VARCHAR2(4), --货物类型 SALE_CN...
初识Oracle数据库体系结构
数据库的概念,实例的概念。
perl小脚本——ftp上传文件、读取数据库表中数据
ftp上传文件、读取数据库表数据
字符类型的字符存储与字节存储
Oracle中存储字符常用的数据类型有char和varchar2其中char 是定长,最小为1,最大为2000varchar2 是变长,最小为1,最大为4000在使用过程中,常见的定义col char(n) --字节存储的默认形式col char(n byte) --字节存储col char(n char) --字符存储col varchar2(n) --字节存储的默认形...
ORA-02030问题解决方法
给普通用户赋予对v$视图的查询权限,结果报 ORA-02030 错误ORA-02030: 只能从固定的表/视图查询(ORA-02030: can only select from fixed tables/views)问题背景:在一个dba用户下的存储过程中需要使用v$的视图(v$client_stats)使用命令行测试:SQL> variable total number;SQL> begin 2 select c...
Oracle数据库开发——深入索引结构
要想研究oracle索引 B-Tree索引的的结构和原理必须要用到下面这几句话:alter session set events 'immediate trace name treedump level 元数据段ID(object_id)';select dbms_utility.data_block_address_file('') from dual;select dbms_utility.data_block_address_block('16777420') from dual;alter system dump da...
Oracle数据库开发——了解索引
关于索引,有一种比喻,表数据是本大书,索引时这本大书的目录。如果书只有几页,你完全可以一眼翻看完,那目录就没太大必要了。因为看目录的时间,几乎可以让你看完这本书。索引是关系数据库中的一种基本对象,它是表中数据与相应存储位置的关系。利用索引可以加快数据的检索速度,并实现对完整性的检查。确切的说,...
Oracle数据库开发——了解分区表
分区就是将一个非常大的表或者索引物理地分解为多个较小的、可独立管理的部分。分区表或索引在逻辑上是一个表或一个索引,但物理上是由多个物理分区组成的。分区功能通过改善可管理性、性能、可用性,为各种应用系统带来了极大的好处。分区功能的好处:1.增强数据可用性:如果表的一个分区因故障或者维护而不能使用时...
Oracle数据库开发——了解rowid
关于rowid,这个伪列具体有什么作用呢?rowid是一个64进制数,一共18位,其中前6表示数据段的编号,接下来的3位表示相对文件编号,再下来的6位是块编号,最后3位是相对块的行编号。即:OOOOOO(Data Object Number) FFF(relative file number相对表空间的文件编号) BBBBBB(Block Number) RRR(Row number)注意:相对文件...
Oracle实验环境搭建(windows + oracle 11g)
Oracle11g 数据库安装过程 一.系统和软件 windows7 + Oracle 11g 二. 安装环境准备 准备工作,针对装过ORACLE的机器 1.删除环境变量 &nbs...
Oracle数据库开发——临时表
关于临时表,在Oracle数据库中可以使用create global temporary table 语句来创建。临时表创建后,其结构将一直存在,但是其中的数据在特定的条件下自动释放。依据释放的条件不同,临时表分为 事务级临时表 和 会话级临时表。创建语法create global temporary table() on commit {delete 事务级 | preserve 会话级} row...
Oracle数据库开发——同义词
同义词是对象的别名。Oracle同义词有公和私有两种。同义词不占用任何实际的存储空间,只是在Oracle的数据字典中保留其定义描述。公有同义词,为一个特殊的用户组Public所拥有,数据库中所有用户都可以使用公有同义词。公有同义词一般用来标识一些比较普通的数据库对象,这些对象往往大家都需要引用。私有同义词,由...
Oracle数据库开发——序列
序列是Oracle数据库中一个生成整数序号的模式对象。由序列产生的一组整数可以用作表的主键值,这个在数据库开过程中经常用到。序列的创建语句和选项:create sequence [schema].sequence_name[increment by {1|n}][start with n][maxvalue n | nomaxvalue][minvalue n | nominvalue][cycle | nocycl...
Oracle数据库开发——表(数据完整性约束)
Oracle数据完整性类别,概念。定义、添加、删除约束。约束的状态和延迟检查。