文章分类 -  Oracle

oracle related documents
oracle面试
摘要:1、oracle数据库的体系结构。1.1、UGA。2、redo和undo的区别。3、redo和归档日志的关系。4、索引组织表(IOT)。5、表连接的方式。数据仓库星形连接。6、物化视图。7、PLSQL中怎么打印日志,在PLSQL未执行完之前。8、游标。9、怎么确定某个索引是否需要重建10、oracle性能优化。 阅读全文

posted @ 2013-01-30 10:21 Alice Sun 阅读(228) 评论(0) 推荐(0)

ORACLE 常用聚合函数
摘要:1.AVG(DISTINCT|ALL)ALL表示对所有的值求平均值,DISTINCT只对不同的值求平均值SELECT AVG(SAL) FROM SCOTT.EMP;SELECT AVG(DISTINCT SAL) FROM SCOTT.EMP;2.MAX(DISTINCT|ALL)求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次(加不加查询结果一致,不知DISTINCT有什么用途,不同于AVG等聚合函数)SELECT MAX(DISTINCT SAL) FROM SCOTT.EMP;SELECT MAX(SAL) FROM SCOTT.EMP3. 阅读全文

posted @ 2013-01-15 15:02 Alice Sun 阅读(357) 评论(0) 推荐(0)

oracle 表于表的连接技巧
摘要:一般的相等连接: select * from a, b where a.id = b.id; 这个就属于内连接。 对于外连接: Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN LEFT OUTER JOIN:左外关联 SELECT e.last_name, e.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id); 等价于 SELECT e.last_n 阅读全文

posted @ 2013-01-15 14:59 Alice Sun 阅读(209) 评论(0) 推荐(0)

SQLPLUS命令的使用大全
摘要:Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对.. 阅读全文

posted @ 2013-01-15 14:57 Alice Sun 阅读(517) 评论(0) 推荐(0)

Oracle Length 和 Lengthb 函数
摘要:一.官网的说明http://download.oracle.com/docs/cd/E11882_01/server.112/e26088/functions088.htm#SQLRF00658PurposeThe LENGTH functionsreturn the length of char. LENGTH calculates length usingcharacters as defined by the input character set. --返回以字符为单位的长度.LENGTHB usesbytes instead of characters. --返回以字节为单位的长.. 阅读全文

posted @ 2013-01-15 14:43 Alice Sun 阅读(390) 评论(0) 推荐(0)

Oracle 查看 表 存储过程 触发器 函数 等对象定义语句的方法
摘要:有时候,我们想查看表,存储,触发器等对象的定语语句,有以下两种方法:1. 查 all_source 表2. 用 DBMS_METADATA 包。一. 通过 all_source 表先来确认下,通过all_source 表可以查看哪些类型的对象:SQL> SELECT distinct type FROM ALL_SOURCE;TYPE------------PROCEDUREPACKAGEPACKAGE BODYLIBRARYTYPE BODYTRIGGERFUNCTIONJAVA SOURCETYPE从以上的结果我们可以看到,我们可以通过该表查询的对象.查看存储过程定义语句:SQL&g 阅读全文

posted @ 2013-01-15 14:39 Alice Sun 阅读(453) 评论(0) 推荐(0)

如何用 SQL Tuning Advisor (STA) 优化SQL语句
摘要:在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等。在 10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包。使用STA一定要保证优化器是CBO模式下。执行DBMS_SQLTUNE包进行sql优化需要有advisor的权限:SQL> create user dave identified by dave;用户已创建。SQL> grant connect,resource to dave;授权成功。SQL> grant a 阅读全文

posted @ 2013-01-15 14:36 Alice Sun 阅读(181) 评论(0) 推荐(0)

Oracle SQL性能优化
摘要:Oracle SQL性能优化(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2) WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可.. 阅读全文

posted @ 2013-01-15 14:32 Alice Sun 阅读(166) 评论(0) 推荐(0)

Oracle截取字符串和查找字符
摘要:oracle 截取字符(substr),检索字符位置(instr)常用函数:substr和instr1.SUBSTR(string,start_position,[length])截取子字符串,返回字符串解释:string 源字符串 start_position 开始位置(从1开始),截取时包含起始位置(为负数时,从尾部算起) length 可选项,子字符串的个数,为空时,截取到最后一个字符For example: substr("123456", 0); //返回:123456,截取所有字符 substr("123456", 2); //返回:2345 阅读全文

posted @ 2013-01-15 14:26 Alice Sun 阅读(460) 评论(0) 推荐(0)

oracle官方文档介绍
摘要:原则:凡是Reference相关的文档都无需精读,碰到问题时速查即可1.ORACLE新功能Oracle Database New Features Guide每次新版本的ORACLE RELEASE以后,看一下《Oracle Database New Features Guide》,以了解一下最新的FEATURE,此文档可以粗略地阅读,不需精读。2.ORACLE,RDBMS的概念及体系结构 Oracle Database Concepts入门级,系统级地读物。如果你想了解ORACLE的相关概念和体系结构,《Oracle Database Concepts》是不错的文档。另外,从这个文档中,你可 阅读全文

posted @ 2013-01-15 14:25 Alice Sun 阅读(266) 评论(0) 推荐(0)

什么样的index需要rebuild?
摘要:以前写程序的时候,经常会遇到大数据量的情况,所有要对Oracle中各种优化性能比较熟悉,当然也遇到过比较头疼的问题,就比如今天跟大家分享的关于index的问题。本来Index是用来帮助我们提高数据检索的性能,但是遇到数据库庞大并且程序逻辑复杂的时候,就会建立N个Index。有时候用户会突然反馈程序变得特别慢,我们程序员只能一点一点查,但查到数据库的时候,看index也是正常在使用没什么异常,为什么会导致程序变慢呢?之前逛论坛的时候,看到一篇关于index需要rebuild的帖子,觉得很好,跟大家分享一下,什么样的index需要rebuild?当一个table经常进行DML操作时,它的索引会存在 阅读全文

posted @ 2013-01-15 14:24 Alice Sun 阅读(544) 评论(0) 推荐(0)

oracle中group by的高级用法
摘要:简单的group by用法select c1,sum(c2)from t1where t1<>'test'group by c1having sum(c2)>100;rollup(多列)——上卷汇总,从最后一个汇总字段开始上卷汇总,一直到合计select c1,c2,sum(c3)from t1group by rollup(c1,c2)含义:c1,c2分组合计c1分组合计总计cube(多列)——组合汇总,以汇总字段的子集作为汇总条件汇总,包括合计select c1,c2,sum(c3)from t1group by cube(c1,c2)含义:c1,c2分组 阅读全文

posted @ 2013-01-15 14:23 Alice Sun 阅读(23868) 评论(0) 推荐(0)

Oracle中的distinct 与unique
摘要:distinct 与unique的区别:select distinct state from customers order by state asc;select unique state,firstname from customers order by state asc;在Oracle中显示效果是一样的。在SQL语法里面,有unique和distinct两个关键字, unique是distinct的同义词,功能完全相同。 distinct是标准语法,其他数据库 sql server,db2,oracle,sybase,mysql等都支持。 unique,oracle、inform... 阅读全文

posted @ 2013-01-15 14:21 Alice Sun 阅读(840) 评论(0) 推荐(0)

oracle中对排序的总结
摘要:-- 按字符方式排序 select * from perexl order by perexl.xx -- 按字符对应的数字方式排序 select * from perexl order by to_number(perexl.xx) -- 按拼音排序 (系统默认) select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_PINYIN_M'); -- 按部首排序 select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_STROK 阅读全文

posted @ 2013-01-15 14:20 Alice Sun 阅读(410) 评论(0) 推荐(0)

ORACLE 中日期函数详解
摘要:TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年 显示值:2007 Month: mm number 两位月 显示值:11 mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: ... 阅读全文

posted @ 2013-01-15 14:19 Alice Sun 阅读(280) 评论(0) 推荐(0)

oracle中关于单引号和双引号的问题
摘要:在Oracle中: 双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则示意 Oracle将严格区分大小写,否则Oracl都默认大写。 而单引号则示意:这个加了单引号的字段是一个字类似字符串,并不区分大小写。单引号用于标识字符与数字的区别 当指定字符串文本时,必须用单引号将字符串文本引住。 Oracle10g之前,假如字符串文本里含有单引号,那么必须运用两个单引号示意。例如:I'm a String! 字符串文本则为:string_var:='I''m a String!' 在oracle10g中可以运用其它分隔符(<>,[],{} 阅读全文

posted @ 2013-01-15 14:12 Alice Sun 阅读(1109) 评论(0) 推荐(2)

oracle 中的INTERVAL 函数详解
摘要:INTERVAL YEAR TO MONTH数据类型Oracle语法:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO{YEAR | MONTH}]该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9,默认值为2.eg:INTERVAL '123-2' YEAR(3) TO MONTH表示: 123年2个月, "YEAR(3)" 表示年的精度为3, 可见"123"刚好为3为有效数值, 阅读全文

posted @ 2013-01-15 14:06 Alice Sun 阅读(771) 评论(0) 推荐(0)

导航