![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
文章平均质量分 81
扁舟
善于学习
展开
-
Oracle中函数使用技巧(2) - NULLIF
NULLIF 函数功能 通过比较表达式提供缩写的 CASE 表达式。语法 NULLIF ( expression-1, expression-2 )参数 expression-1 要比较的表达式。expression-2 要比较的表达式。用法 NULLIF 比较两个表达式的值。如果第一个表达式的值与第二个表达式的值相等,N...原创 2013-07-09 01:42:10 · 165 阅读 · 0 评论 -
Oracle的异常处理(exception)
oracle提供了预定义例外、非预定义例外和自定义例外三种类型。其中预定义例外用于处理常见的oracle错误;非预定义例外用于处理预定义所不能处理的oracle错误;自定义例外处理与oracle错误无关的其他情况。Oracle代码编写过程中,如果捕捉例外则会在plsql块内解决运行错误,否则将错误传递到调用环境。 常用预定义例外 为了处理各种常见的oracle错误,plsql为开发人...原创 2010-11-12 10:41:48 · 684 阅读 · 0 评论 -
Oracle rownum原理和使用
在Oracle中,要按特定条件查询前N条记录,用个rownum就搞定了。 select * from emp where rownum <= 5 而且书上也告诫,不能对rownum用">",这也就意味着,如果你想用 select * from emp where rownum > 5 则是失败的。要知道为什么会失败,则需要了解rownum背后的机制: 1 Oracle execu...原创 2010-11-11 22:10:13 · 62 阅读 · 0 评论 -
Oracle中的临时表用法汇总
1 语法 在Oracle中,可以创建以下两种临时表: 1) 会话特有的临时表 CREATE GLOBAL TEMPORARY ( ) ON COMMIT PRESERVE ROWS; 2) 事务特有的临时表 CREATE GLOBAL TEMPORARY ( ) ON COMMIT DELETE ROWS; CREATE GLOBAL...原创 2010-11-11 22:02:04 · 75 阅读 · 0 评论 -
Oracle 索引笔记
使用索引的目的 加快查询速度 减少I/O操作 消除磁盘排序 --------------------------------------------------------------------------------何时使用索引 查询返回的记录数 排序表<40% 非排序表 <7% 表的碎片较多(频繁增加、删除) -------------------------...原创 2010-11-11 21:58:36 · 60 阅读 · 0 评论 -
Oracle 索引详解
什么是索引 索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据; Oracle存储索引的数据结构是B*树,位图索引也是如此,只不过是叶子节点不同B*数索引; 索引由根节点、分支节点和叶子节点组成,上级索引块包含下级索引块的索引数据,叶节点包含索引数据和确定行实际位置的rowid。 使用索引的目的 加快查询速度 减少I/O操作 消除磁盘排序 何时使...原创 2010-11-11 21:57:28 · 86 阅读 · 0 评论 -
Oracle PL/SQL基础
每种数据库都有自己特有的语言,Oracle下面就是PL_SQL了。它相对于SQL语言来说,提供了分支和循环,可以完成更多的工作。PL-SQL:---带选择过程的SQL语句。 各个数据库都有自己的类似语言。PL_SQL是Oracle数据库的。 SQL> set serveroutput on;输出到服务器命令行端口,默认是off。 SQL> declare ---变量声...原创 2010-11-11 21:54:20 · 65 阅读 · 0 评论 -
Oracle SQL语言基础
1.desc tablename---描述一张表(字段,类型,长度)2.select empno,sal*12 "All money" from emp; ---给结果项起别名。如含特殊字符或者要保持原有格式,用双引号括起来。3.任何含空值的数学表达式最后的结果都是空值(NULL)4.字符串连接符:|| select ename||sal from emp; 单引号包起来字符串。如果字符串内含...原创 2010-11-11 21:51:05 · 87 阅读 · 0 评论 -
Oracle 游标的使用
一 游标是什么 游标字面理解就是游动的光标。 用数据库语言来描述:游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等。 二 游标的分类 显式游标和隐式游标 显式游标的使用需要4步: 1. 声明游标 CURSOR mycur(vartype number) is s...原创 2010-11-11 21:46:07 · 85 阅读 · 0 评论 -
Oracle触发器详细介绍
触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。功能:1、 允许/限制对表的修改2、 自动生成派生列,比如自增字段3、 强制数据一致性4、 提供审计和日志记录5、 防止无效的事务处理6、 启用复杂的业务逻辑开始create trigger biufer_employees_department_id before insert or update ...原创 2010-11-11 21:42:42 · 76 阅读 · 0 评论 -
Oracle PL/SQL使用的变量小结
PLSQL变量有四种类型,分别是:- 标量类型(Scalar) - 复合类型(Composite)- 参照类型(Reference)- LOB类型(Large Object) 1、标量类型:- 只能存放单个数值的变量- 定义时,必须要指定标量的数据类型1.1常用标量类型(1)VARCHAR2(n)定义可变长度的字符串n指定字符串最大长度n最大值是32767字节...原创 2010-11-12 14:32:55 · 164 阅读 · 0 评论 -
Oracle分组函数学习小结
一、Group by Group by子句(利用group by子句分组数据,当select语句中使用到组函数和字段一起连用时会用到group by,否则会出现错误) Group by把select查询的结果集分成几个小组,这个group by子句可以跟在where后面且在having前面。Group by子句也会触发排序操作,会按分组字段排序。 格式: Select [组函数和分...原创 2010-11-12 17:21:20 · 161 阅读 · 0 评论 -
Oracle 统计分组语句
在应用系统开发中,进行需要统计数据库中的数据,当执行数据统计时,需要将表中的数据进行分组显示,在统计分组中是通过group by子句、分组函数、having子句共同实现的。其中group by子句用于指定要分组的列,而分组函数用户指定显示统计的结果,而having子句用户限制显示分组结果。 一、分组函数 分组函数用于统计表的数据,并作用于多行,但是返回一个结果,一般情况下,...原创 2010-11-12 17:24:22 · 301 阅读 · 0 评论 -
Oracle中函数使用技巧(1) - Decode
ecode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途 呢? 先构造一个例子,假设我们想给智星职员加工资,其...原创 2013-07-09 01:38:31 · 165 阅读 · 0 评论 -
Oracle数据库备份与恢复的三种方法
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、 导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、 简单导出数据(Export)和导入数据(Import) ...原创 2013-07-09 00:56:15 · 155 阅读 · 0 评论 -
Oracle 字符集详解
一、什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响Oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下: NLS...原创 2013-07-09 00:31:40 · 106 阅读 · 0 评论 -
Oracle中逻辑导出Exp/导入Imp详解
导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议。对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出...原创 2013-07-09 00:27:46 · 151 阅读 · 0 评论 -
Oracle触发器详细介绍(二)
Sql代码 --触发器 trigger --1.DML触发器 DML statements (DELETE, INSERT, UPDATE) /* 对于一条dml sql,可能作用与多行,也可能只有一行。语句触发器对每条触发sql,触发器只执行一次;行级触发器是每作用一行就触发一次 触发器。 ...原创 2011-08-11 15:46:02 · 530 阅读 · 1 评论 -
Oracle 游标的使用(二)
Sql代码 --ref 游标 /* 显示游标 多行 隐含游标 数据操纵语言 DML 和单行select into语句 1.定义游标 指定游标所对应的select结果集语句 CURSOR cursor_name IS select_statement...原创 2011-08-11 15:44:12 · 94 阅读 · 0 评论 -
Oracle SQL合并查询笔记
在Oracle sql查询过程当中,可以使用集合运算符UNION,UNION ALL,INTERSECT(交叉),MINUS(减去)。语法:select 语句1 [UNION|UNION ALL|INTERSECT|MINUS] select 语句2;这些集合操作符具有相同的优先级,当同时使用多个操作符时,会按照从左到右的方式引用集合操作符。当使用集合操作符时,必须确保不...原创 2010-11-14 10:45:26 · 129 阅读 · 0 评论 -
Oracle SQL子查询笔记
子查询是指嵌入在其他SQL语句中的SELECT语句,也称为嵌套查询。注意,当在DDL语句中引用子查询时,可以带有Order By子句;但是当在where子句、Set子句中引用子查询时,不能带有Order by 子句。子查询具有以下一些作用: 1、通过在insert或create table语句中使用子查询,可以将源表数据插入目标表中。 2、通过在create vi...原创 2010-11-14 00:53:55 · 158 阅读 · 0 评论 -
Oracle 连接查询学习笔记
一、内连接和外连接 内连接用于返回满足连接条件的记录;而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录,语法如下: Oracle代码 select table1.column,table2.column from table1 [inner|left|right|full]join table2 on table1.colum...原创 2010-11-13 20:51:10 · 70 阅读 · 0 评论 -
Oracle PL/SQL学习 游标
1.什么是游标 游标(Cursor)是一个指向上下文去的句柄(handle)或指针。 游标可分为显示游标&隐示游标两种。2.显示游标 显示游标用来处理多于一行的SELECT语句。 2.2显示游标的处理包括4歌PL/SQL步骤,如下: 1)声明游标。 2)为查询打开游标。 3)将结果提取(fetch)到PL/SQL变量中。 ...原创 2010-11-11 21:37:25 · 88 阅读 · 0 评论 -
Oracle PL/SQL中游标和游标变量的使用
游标是什么:游标字面理解就是游动的光标。用数据库语言来描述:游标是映射在结果集中一行数据上的位置实体,有了游标用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等等。在Oracle9i之前,使用FETCH语句每次只能提取一行数据;从Oracle9i开始,通过使用FETCH…BULK COLLECT INTO语句,每次可以提取多行数据...原创 2010-11-11 21:34:04 · 242 阅读 · 0 评论 -
oracle存储过程的分页及调用
一、定义-------------------------------------------------------- Export file for user 24365 ---- Created by Administrator on 2007-11-13, 22:07:04 ----------------------------------...2010-11-11 14:57:06 · 103 阅读 · 0 评论 -
exp/imp命令详解
exp/imp两个命令可以说是oracle中最常用的命令了。ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。一、数据库逻辑备份方法:...原创 2011-06-27 16:45:48 · 162 阅读 · 0 评论 -
ora-00020超出最大进程数的解决方法
一般原因是因为你的应用程序的连接数超过了ORACLE系统设置的最大连接数。你可以到ORACLE的OEM下,用SYS as/sysdba进入OEM,在Instance的 Configuration下打开All initialization parameters,打到指定的Processes项,该项系统安装一般默认为150,你可以修改到你想需要的,一般200~2000之间。修改之后需要重新启动数据...原创 2011-06-23 09:42:45 · 267 阅读 · 0 评论 -
ORACLE中客户端连接服务器端常见问题与解决
要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。下面列出几种常见的连接问题:1、ORA-12541: TNS: 没有监听器显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:$ lsnrctl start或C:\lsnrctl start2、ORA-12500: TNS: 监听程序...原创 2011-06-23 09:36:28 · 242 阅读 · 0 评论 -
Oracle 常用数据字典
--Oracle 数据字典--Oracle 数据字典很多,通常我记不住所有的名字,我们可以用以下SQL去查数据字典的名字如:select distinct object_name from dba_objects where object_name like 'user_%';--本用户字典 SQL> select distinct object_name from d...原创 2011-06-23 09:33:52 · 86 阅读 · 0 评论 -
ORACLE函数大全
SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE--------- --------- --------- --------- ...原创 2011-04-14 16:55:54 · 107 阅读 · 0 评论 -
ORACLE面试题及答案
1.解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将ar...原创 2011-04-14 16:54:09 · 650 阅读 · 0 评论 -
Oracle(SQL)优化
1. 选用适合的优化器 Oracle Oracle的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(se...原创 2011-04-14 16:47:29 · 73 阅读 · 0 评论 -
ORACLE AUTOTRACE介绍
AUTOTRACE是一项 SQL*Plus 功能,自动跟踪为 SQL 语句生成一个执行计划并且提供与该语句的处理有关的统计。SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是您不必设置跟踪文件的格式,并且它将自动为 SQL 语句显示执行计划。然而,AUTOTRACE 分析和执行语句;而EXPLAIN PLAN仅分析语句。使用AUTOT...原创 2011-04-14 16:46:32 · 329 阅读 · 0 评论 -
Oracle PL/SQL编程基础
一、if then 语句create or replace procedure IfThenProc isbegin -- Created on 2008-1-19 by ADMINISTRATOR declare ----定义游标 CURSOR my_cursor IS SELECT * from master; ----定义变量,存放游标所取的数据 my_rec my_curso...原创 2010-11-11 15:12:34 · 76 阅读 · 0 评论 -
Oracle学习小结
小型数据库:access,foxbase 你该用什么数据库? 1.项目规模: a,负载量多大,用户多大 b,成本 c,安全性 成本在千元内 负载量小,100人内,比如留言板,信息系统 以成本在千元内,对安全性要求不高. 中型数据库:mysql,sql server,informix 比如在负载 日访问量5000-15000,成本在万元内 比如商务网站. 大型数据库:sybase,oracle,db...原创 2010-11-11 16:22:06 · 78 阅读 · 0 评论 -
Oracle中Cursor(游标)学习
一 概念 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 二 类型 Cursor类型包含三种: 隐式Cursor,显式Cursor和Ref Cursor(动态...原创 2010-11-11 16:32:04 · 98 阅读 · 0 评论 -
Oracle 用户、权限、角色管理
Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。C...原创 2010-11-11 21:26:25 · 146 阅读 · 0 评论 -
Oracle 存储过程常用技巧
我们在进行pl/sql编程时打交道最多的就是存储过程了。存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识。如:游标的处理,异常的处理,集合的选择等等 1.存储过程结构 1.1 第一个存储过程 Java代码 create or replace procedure proc1( p_para1 varchar2...原创 2010-11-11 21:20:13 · 84 阅读 · 0 评论 -
Oracle PL/SQL 学习笔记
存储过程编写经验和优化措施 | 谈谈2010年网站百度优化新技术 2010-09-25一、PL/SQL 块 块定义语法:DECLARE/* 定义部分——定义常量、变量、复杂数据类型、游标*/BEGIN/* 执行部分——PL/SQL语句和SQL语句*/EXCEPTION/* 异常处理部分——处理运行错误*/END; 注:PL/SQL中结束输入...原创 2010-11-11 21:18:22 · 74 阅读 · 0 评论 -
Orace 优化sql查询
人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。 笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。 在对它们进行适当的优化后,其运行速度有...原创 2010-11-11 21:12:17 · 197 阅读 · 0 评论