- 博客(13)
- 资源 (19)
- 收藏
- 关注
原创 B*树索引——Oracle的默认索引结构
1、B*树索引1.1 概述 B*树索引是Oracle默认的索引结构。我们使用CREATE INDEX语句创建索引时,创建的就是B*树索引。B*树索引的结构一个二叉树,由根节点(root node)、分支部分(branch node)和叶子节点(leaf node)构成。 提示:B*树的B是单词Balanced的缩写,平衡之意。 ● 根节点:包含指向
2014-01-14 10:58:29 8448 2
原创 Oracle的动态SQL
1、概述 为了了解动态SQL,需要先明白Oracle对SQL语句的处理过程(请参考《Oracle对SQL语句处理过程》),静态SQL是在解析(Parse)阶段就确定的SQL,而动态的SQL则是在编译阶段不能确定的,只有在关联绑定变量之后才能确定的SQL。为什么要使用动态的SQL?我认为主要有两点: ① 增加灵活性。动态SQL可以使用using子句实现变量绑定,可以通
2014-01-12 01:33:32 1033 1
原创 Oracle对SQL语句处理过程
Oracle对SQL语句处理过程如下图所示: 通过上图可知,一个SQL语句处理的过程如下: 1)创建游标。 游标是内存中的一块区域用于保存当前的SQL语句的定义信息。 2)检查缓存。 每提交一个SQL语句的执行请求,Oracle都会向共享池(shared pool)的SQL Area中检索
2014-01-12 00:15:14 999
转载 Oracle NOCOPY使用
PLSQL运行引擎在存储过程和函数之间传参有2种方法:传值和传引用 默认情况,OUT和IN OUT参数通过传值方式传递,IN参数是传引用方式。程序执行前IN OUT参数的实际值将被复制给形参。程序执行中间,临时变量保存参数的输出值。如果程序正常退出,这些值将被复制回原参数。如果程序异常退出,那么原参数值将不会改变。当IN OUT参数为大数据结构,诸如:集合、记录、对象类型实例
2014-01-11 15:18:59 1687
转载 Oracle之Chr函数返回
转自:http://blog.csdn.net/zanbiyajj/article/details/7752381Chr函数 返回:返回 String,其中包含有与指定的字符代码相关的字符。比如:declare begin dbms_output.put_line('换行: '||CHR(10)||'第二行');end;输出结果:换行:第二行下面列出了一些ASCII码为
2014-01-11 00:12:21 1816
原创 Oracle的bulk collect使用
bulk collect的作用是将检索结果批量的、一次性的赋给集合变量,并把结果集从PL/SQL引擎传给SQL引擎。与每次获取一条数据,并每次都要将结果由PL/SQL引擎传给SQL引擎相比,可以很大程度上的节省开销。bulk collect可以和select into、fetch into、returning into一起使用,使用bulk collect后,into后的变量必须是集合型的。
2014-01-10 23:12:40 1221
原创 RETURNING into用法
1、概述returning...into...和insert/upadate/delete语句一起使用,用于赋予指定列的值给相应变量,类似于select...into...语句。returning...into...在insert、update和delete语句中返回的结果是有区别,其中: 1) delete语句:returning...into...返回的是delete之前的结果;
2014-01-10 02:12:51 2323 1
转载 DBMS_UTILITY.get_time——比较时间差
转自:http://usa2288.blog.sohu.com/139261013.htmlDBMS_UTILITY.get_time主要用于比较时间差,精确到毫秒,就是秒后面2位小数。如果是TO_CHAR(SYSDATE,'SSSSS')单纯输出的是秒,如果超过的话,则这个秒是按照四舍五入表示的,例如是5.6秒,你看到的就是6秒。 秒 = DBMS_UTILITY.get_
2014-01-06 22:48:25 2259 1
原创 FORALL使用--insert/delete/update操作的批绑定Bulk Binding
Forall是Oracle在PL/SQL中提供的一种批量处理语法。它提供了比传统for loop更好的处理性能优势。两者的差异主要体现在处理引擎上下文切换上的性能损耗优势。在PL/SQL语句中出现语句,PL/SQL引擎会将SQL语句传递转给SQL引擎进行处理。SQL引擎处理后再将结果返回给PL/SQL引擎。这个过程我们称之为上下文切换(context switch)。在for语句运行的时候,伴
2014-01-06 19:05:18 4234
原创 Oracle定义数据类型Type
oracle提供自定义类型功能,用户可以根据自己的情况定义记录数据类型(Record)和记录表类型(Table),其中记录数据类型Record存储是一条记录,记录表类型Table用来存储多条记录。如果记录数据类型Record是一维数组的话,记录表类型Table就是二维数组。 自定义类型有两种写法:TYPE...IS和CREATE TYPE,下面分别介绍: TYPE IS定义
2014-01-04 17:04:09 1791
原创 Oracle面向对象编程OOP
自Oracle9i以来,Oracle就不再是单纯的关系数据库管理系统,它在关系数据库模型的基础上,添加了一系列面向对象的特性。Oracle9i就号称面向对象数据库。Oracle的对象体系遵从面向对象思想的基本特征,许多概念同C++,JAVA中类似,具有继承,重载,多态等特征,但又有自己的特点。 下面详细介绍下Oracle面向对象编程。1 面向对象类型TYPE1.1 面向
2014-01-04 16:57:03 3352 1
原创 ORA-06531:Reference to uninitialized collection 问题解决
错误信息:ORA-06531:Reference to uninitialized collection错误SQL代码:declare TYPE t_student_var IS TABLE OF VARCHAR2(100); v_tbl_name t_student_var;begin select name into v_tbl_name(1) fr
2014-01-02 13:41:37 4887
转载 USERENV()用法
USERENV(OPTION) 返回当前的会话信息. OPTION='SID' OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE. OPTION='LANGUAGE'返回数据库的字符集. OPTION='SESSIONID'为当前会话标识符. OPTION='ENTRYID'返回可审计的会话标识符.
2014-01-01 12:46:51 1118
hibernate-3.2.0.ga.zip
2013-05-29
hibernate中的SessionFactory
2011-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人