1. PL/SQL编程

    1 数据类型 (1)PLSQL支持所有的SQL数据类型 (2)标量:数值、字符、布尔、日期时间 1>. number 包括(decimal、float、integer、real) 2>. oracle11g新加入一种数据类型:SIMPLE_INTEGER 范围(-2147483648 ~ +2147483647) 数据类型不为空.对于此数据类型,ORACLE可以将这个数据类型的操作直接作用于硬件,从而提高性能。 3>. 字符型:SQL: char(长度2000)/varchar2(长度4000) PLSQL: 长度都是32767 4>. boolean (逻辑判断 true、false、null) v_num1 := 50; v_num2 := 60; v_bool := (v_num1 < v_num2); 5>. 日期时间(DATE、TIMESTAMP) (3)LOB类型(最大可存储4G),用于存储大文本、图像、视频剪辑和声音剪辑等非结构化数据。 BLOB(二进制对象存储) CLOB(大文本字符) NCLOB(存储UNICODE字符) BFILE(讲二进制存储在操作系统中,只读) (4)复合类型 %TYPE 引用变量和数据库列的数据类型一致 %ROWTYPE 提供表示表中一行的记录类型 (5)对于常量 就是需要用CONSTANT关键字声明并且一定要初始化值 形如: c_salary_rate CONSTANT NUMBER(7,2) := 0.25; 大对象读取示例:(示例准备)

    2015/02/15 Oracle

  2. 同义词和DBLINK

    同义词和DBLINK

    2015/02/15 Oracle

  3. 物化视图

    物化视图

    2015/02/10 Oracle

  4. 索引

    索引

    2015/02/10 Oracle

  5. 事务与锁

    事务与锁 事务的特性 事务必须具备以下四个属性,简称ACID属性: 原子性:事务是一个完整的操作,事务的各部操作是不可分的,要么全部执行,要么全部都不执行 一致性:一个查询的结果必须与数据库在查询开始的状态一致 场景:查询数据,9:00开始查询数据,9:15查询完毕,在这期间所查询的数据被其他操作更新,且9:00-9:15之间查询结果显示的是9:00时候并没有更改的数据,一般oracle是把这个没有更新的数据放入undo里,如果oracle在undo里没有找到数据则宁可报错,也不会让你看到其他操作更新的新的数据。 隔离性:对于其他会话来说,未完成的(也就是未提交的)事务不可见,事务之间相互不影响 持久性:事务一点提交成功后,数据就不可以丢失这个事务的结果,数据库通过日志能够保持事务的持久性。 场景:事务提交之后不可逆,提交数据是由内存的数据刷新到磁盘上,这个过程的快慢和性能有关,那么oracle主要是靠rudo日志,先写日志,在写到磁盘上。

    2015/02/01 Oracle

  6. Sql高级篇

    Sql高级篇 select into 和 insert into select两种表复制语句 CT:CREATE TABLE <NEW TABLE> AS SELECT * FROM <EXISTS TABLE> :要求目标表不存在,因为在插入时会自动创建表,并将查询表中指定字段数据复制到新建的表中 is:insert into table2(f1,f2,..) select v1,v2,..from table2:要求目标表table2必须存在,由于目标表table2已经存在,所以我们除了插入源表table1的字段外,还可以插入常量 MERGE用法 MERGE INTO 用法: merge into 目标表 a using 源表 b on(a.条件字段1=b.条件字段1 and a.条件字段2=b.条件字段2 ……) when matched then update set a.更新字段=b.字段 when not macthed then insert into a(字段1,字段2……)values(值1,值2……) 递归函数 START WITH CONNECT BY 是oracle提供的递归查询(分层查询)函数,非常的好用,我们在进行递归遍历树形结构的时候可以使用。 start with(从某个节点id开始) connect by prior(子节点id和父节点pid直接的关系需要) 形如:select *from emp start with empno =7369 connect by prior mgr=empno;(父节点=子节点,向上查询,反之向下查下) 可以添加where 可以指定多个起始节点查询。 可以进行排序

    2015/02/01 Oracle

  7. Sql基础篇

    Sql基础篇 数据库语言: 数据库操作语言:DML(data manipulation language) select ,insert ,update ,delete ,merge 数据定义语言:DDL(data definition language) create alter drop truncate 事务控制语言:TCL(transation control language) commit rollback savepoint 数据控制语言:DCL(data control language) grant revoke 数据类型 常用的数据类型转换 常见转换:date char number 三者之间的转换 select TO_DATE(‘2015-08-19’,’YYYY-MM-DD’) AS A_DAY FROM DUAL; select TO_CHAR(SYSDATE,’YYYY-MM-DD’) AS A_DAY FROM DUAL; select TO_TIMESTAMP(‘2015-08-19 17:40:32.11’,’YYYY-MM-DD HH24:MI:SS.FF’) AS A_DAY FROM DUAL; select TO_CHAR(SYSTIMESTAMP,’YYYY-MM-DD HH24:MI:SS.FF’) AS A_DAY FROM DUAL; select TO_NUMBER(REPLACE(TO_CHAR(SYSDATE,’YYYY-MM-DD’),’-‘)) AS A_DAY FROM DUAL; 常用函数 decode函数 select deptno,decode(deptno,10,’部门1’,20,’部门2’,’部门3’) from emp;

    2015/02/01 Oracle