Fork me on GitHub
摘要: 一、下载和安装Tomcat服务器 下载Tomcat安装程序包:http://tomcat.apache.org/点击【Download】跳转到如下图所示的下载页面二、点击左侧要下载的版本,选择Tomcat7.0也可以选择其它三、选择要下载的文件类型,tar.gz文件是Linux操作系统下的安装版本... 阅读全文
posted @ 2015-01-16 21:34 森林森 阅读(13464) 评论(2) 推荐(10) 编辑
摘要: HAVING子句的主要功能是对分组后的数据进行过滤,如果子查询在HAVING中表示要进行分组过滤,一般返回单行单列的数据示例一、查询部门编号,人数,平均工资,并且要求这些部门的平均工资高于公司的平均工资 --查询部门编号,人数,平均工资,并且要求这些部门的平均工资高于公司的平均工资 SELECT e... 阅读全文
posted @ 2015-01-16 00:39 森林森 阅读(4170) 评论(0) 推荐(0) 编辑
摘要: 子查询子查询就是指的在一个完整的查询语句之中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式,为了让读者更加清楚子查询的概念。子查询返回结果子查询可以返回的数据类型一共分为四种:单行单列:返回的是一个具体列的内容,可以理解为一个单值数据;单行多列:返回一行数据中多个列的内容;多行单列... 阅读全文
posted @ 2015-01-16 00:27 森林森 阅读(20406) 评论(0) 推荐(5) 编辑
摘要: 查询出公司每个月支出的工资总和--查询出公司每个月支出的工资总和SELECT SUM(sal) FROM emp;查询出公司的最高工资,最低工资和平均工资--查询出公司的最高工资,最低工资和平均工资SELECT MAX(sal),MIN(sal),ROUND(AVG(sal),2) FROM emp... 阅读全文
posted @ 2015-01-15 23:09 森林森 阅读(5560) 评论(1) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2015-01-15 22:18 森林森 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-01-15 21:42 森林森 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-01-15 21:12 森林森 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 总体结构分为三个部分:SGA,PGA,FILE文件按功能分:存储结构存储结构对应关系主要文件:数据文件:每个数据文件只与一个数据库相关联一个表空间可以包含一个或者多个数据文件一个数据文件只能属于一个表空间数据文件就是用来存储数据库中文的数据日志文件:重做日志文件:用于记录数据库的变化,用户的事务处理... 阅读全文
posted @ 2015-01-15 20:44 森林森 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 表分区:应用场景:如数据量比较大的表,比如2G的表,可以分20块来查询肯定比不分块查询速度快区间分区:常常用于日期字段的分区less than 是不包括这()里的值小于的意思示例一、创建区间分区--创建表CREATE TABLE drawlist( draw_dt DATE ... 阅读全文
posted @ 2015-01-14 05:01 森林森 阅读(876) 评论(0) 推荐(0) 编辑
摘要: tablespace 表空间可以省略B树索引反向键索引函数索引位图索引删除索引B树索引示例一、创建一张表并使用PL/SQL的数据生成器导入10万条记录--创建储户表create table depositor ( actid INTEGER n... 阅读全文
posted @ 2015-01-14 01:57 森林森 阅读(945) 评论(0) 推荐(0) 编辑
摘要: 序列的作用许多的数据库之中都会为用户提供一种自动增长列的操作序列(Sequence)可以自动的按照即定的规则实现数据的编号操作序列的完整创建语法CREATE SEQUENCE 序列名称 [ INCREMENT BY 步长 ] [ START WITH 开始值 ] ... 阅读全文
posted @ 2015-01-13 18:14 森林森 阅读(1144) 评论(0) 推荐(1) 编辑
摘要: 复合触发器复合触发器是在Oracle 11g之后引入进来的一种新结构的触发器,复合触发器既是表级触发器又是行级触发器。在之前针对于不同级别的触发器,如果要在一张数据表上完成表级触发(BEFORE和AFTER)与行级触发(BEFORE和AFTER)则需要编写四个触发器才可以完成,而有了复合触发器之后,... 阅读全文
posted @ 2015-01-13 17:09 森林森 阅读(1906) 评论(0) 推荐(0) 编辑
摘要: 系统触发器系统触发器用于监视数据库服务的打开、关闭、错误等信息的取得,或者是监控用户的行为操作等。如果要创建系统触发器,可以使用如下的语法CREATE [OR REPLACE] TRIGGER 触发器名称 [BEFORE | AFTER] [数据库事件] ON [DATABASE | SCHE... 阅读全文
posted @ 2015-01-13 15:47 森林森 阅读(1316) 评论(0) 推荐(1) 编辑
摘要: 定义记录类型TYPE 类型名称 IS RECORD (成员名称 数据类型 [[NOT NULL] [:= 默认值] 表达式] ,...成员名称 数据类型 [[NOT NULL] [:= 默认值] 表达式]) ; 示例一、记录类型接收查询返回结果--使用记录类型接收查询返回结果DECLARE V_E... 阅读全文
posted @ 2015-01-13 01:01 森林森 阅读(983) 评论(0) 推荐(0) 编辑
摘要: INSTEAD OF触发器对于简单视图,可以直接执行INSERT,UPDATE和DELETE操作但是对于复杂视图,不允许直接执行INSERT,UPDATE和DELETE操作。为了在具有以上情况的复杂视图上执行DML操作需要征用触发器来完成--创建复杂视图CREATE OR REPLACE VIEW ... 阅读全文
posted @ 2015-01-12 23:16 森林森 阅读(11525) 评论(0) 推荐(1) 编辑
摘要: 视图视图是从一个或几个实体表(或视图)导出的表。它与实体表不同,视图本身是一个不包含任何真实数据的虚拟表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的实体表中。所以实体表中的数据发生变化,从视图中查询出的数据也就随之改变了。从这个意义上讲,视图就像一个窗口,通过它可以看到... 阅读全文
posted @ 2015-01-12 21:56 森林森 阅读(1116) 评论(0) 推荐(0) 编辑
摘要: REFERENCING子句:使用“:new.字段”或者是“:old.字段”标记不清,那么也可以通过REFERENCING子句为这两个标识符设置别名,例如可以将“:new”设置为:emp_new,或者将“:old”设置为:emp_old。create or replace trigger myempa... 阅读全文
posted @ 2015-01-12 02:03 森林森 阅读(1335) 评论(0) 推荐(1) 编辑
摘要: 行级DML触发器每当一条记录出现更新操作时进行触发操作定义时要定义FOR EACH ROW使用":old.字段"和":new.字段"标识符No.触发语句 :old字段:new字段1INSERT 未定义,字段内容为NULLINSERT操作结束后,为增加数据值2UPDATE更新数据前的原始值UPDATE... 阅读全文
posted @ 2015-01-12 00:59 森林森 阅读(733) 评论(0) 推荐(0) 编辑
摘要: DML触发器(语句触发器)由DML语句进行触发,当用户执行了INSERT,UPDATE,DELETE操作时就会触发操作示例一、只有在每个月的10日才允许办理,新员工入职与离职,其他时间不允许增加和删除员工数据--建立表CREATE TABLE myemp AS SELECT * FROM emp;-... 阅读全文
posted @ 2015-01-11 22:11 森林森 阅读(2304) 评论(0) 推荐(0) 编辑
摘要: 语法:CREATE [ OR REPLACE ] TRIGGER trigger_name:创建一个触发器,设置名称,如果选择了OR REPLACE,则表示如果已经有这个触发器就替换[BEFOR | AFTER]:指的是触发器的触发日间,在操作之间就BEFORC,在操作之后就AFTER触发INSTE... 阅读全文
posted @ 2015-01-11 20:42 森林森 阅读(1010) 评论(0) 推荐(0) 编辑