用了oracle3年的一些技巧 实在懒得整理了。。。
恢复误删表数据的语句
insert into tablename
select * from tablename as of timestamp to_date('2013-03-25', 'yyyy-mm-dd');
误删oracle表 恢复办法
select * from recyclebin;
flashback table tablename to before drop;
清除共享池
alter system flush shared_pool;
DECODE函数
oracle特有的函数decode(colmn,值,代替的值,以上都没有原来的值)
在其他数据库可以使用case when 来代替
sum(decode()) 分类汇总对数据
oracle字符串连接问题
可使用'||'连接符如下:
select col1 as description,col2 ||'('|| col3 ||')' as label from table
还可以使用concat( str,str)函数在标准的SQL中允许存在2个以上的参数 但是oracle中只能支持两个参数但可以使用多层嵌套来解决这个问题
多个字段distinct 的技巧
对数据的多个字段distinct的方式可以使用||来对数据进行查询
在不记得的情况下找表或者存储过程
查看所有存储过程或者函数
select * from user_source where type='PROCEDURE' and name='XXXX';
查看所有的表
select * from tab where tname like '%XXX%';
查看一些DBA 信息
select * from dba_source;
某个值为空时替换函数
String1是要替换的字段 replace_with是替换的值
mysql是ifnull(string1, replace_with)
mssql是isnull(string1, replace_with)
oracle是nvl(string1,replace_with)
oracle nvl2(str1,str2,str3) str1不为空是str2 str1为空是str3
oracle取四舍五入的约数值
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
说明
number : 将要处理的数值
decimal_places : 四舍五入,小数取几位,不填默认为0
select round(123.456) from dual; 结果: 123
select round(123.456, 0) from dual; 结果: 123
select round(123.456, 1) from dual; 结果: 123.5
select round(123.456, 2) from dual; 结果:123.46
select round(123.456, 3) from dual; 结果: 123.456
select round(-123.456, 2) from dual; 结果:-123.46
在某些计算的情况下注意使用round来进行处理否则会出下小数部分太长而自动转换为科学计数法的情况
查找子节点的sql
select * from XXXX connect by prior cols=colf start with cols='001'
主要作用是上下级关系的数据进行间隔查询
临时表创建
DROP TABLE TABLENAME CASCADE CONSTRAINTS;
CREATE GLOBAL TEMPORARCREATE INDEX TABLE_INDEX ON TABLENAME
Y TABLE TABLENAME
(
DEPARTID VARCHAR2(8 BYTE),
TYPE VARCHAR2(20 BYTE)
)
ON COMMIT DELETE ROWS
NOCACHE;
(DEPARTID, TYPE);
临时表的作用主要是用于对多表查询的分步骤查询 优化sql查询速度
多个字段排序不同的规则
select * from XXX order by col1 desc,col2 asc
1)按笔画排序
select * from Table order by nlssort(columnName,'NLS_SORT=SCHINESE_STROKE_M')
2)按部首排序
select * from Table order by nlssort(columnName,'NLS_SORT=SCHINESE_RADICAL_M')
3)按拼音排序
select * from Table order by nlssort(columnName,'NLS_SORT=SCHINESE_PINYIN_M');
分享到:
相关推荐
开发中使用oracle的一些优化技巧!
Oracle使用技巧是一个广泛的话题,涵盖了数据库管理、SQL查询优化、性能调优等多个方面。这篇博客可能没有提供具体的描述,但我们可以根据标题和标签来推测一些可能涵盖的内容。 1. **NULL值处理**: Oracle数据库...
《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...
Oracle查询优化改写 技巧与案例.pdf
《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...
### Oracle性能优化技巧详解 #### 一、引言 Oracle数据库是企业级应用中的核心组件之一,其性能直接影响到业务系统的稳定性和响应速度。本文将详细介绍Oracle性能优化的关键技巧,帮助用户更好地理解和掌握如何...
本文将根据提供的文件名称,深入探讨Oracle的各种常见问题、使用技巧以及相关知识点。 1. **Oracle应用常见傻瓜问题1000问.doc**:这份文档可能包含了一系列Oracle使用过程中遇到的常见问题和解答,涵盖了从安装...
Oracle存储过程常用技巧 Oracle存储过程是一种强大的数据库对象,它可以帮助开发者简化复杂的业务逻辑,并提高数据库的安全性和性能。在 Oracle 中,存储过程是一种特殊的 PL/SQL 程序,它可以接受输入参数,执行...
### ORACLE进阶操作技巧知识点详解 #### 一、数据库安装与配置 ##### 安装注意事项 - **根据用户数量进行特定安装**:在安装Oracle数据库之前,首先需要考虑的是预期用户数量。不同规模的应用场景可能需要不同版本...
以下是一些关于如何有效学习Oracle的技巧: 1. 踏实,持之以恒:Oracle的学习并非一日之功,需要耐心和毅力。选择一本适合自己的入门书籍,如《Oracle Database Administration Handbook》或者《Oracle Database ...
根据提供的文件信息,本文将对《Oracle查询优化改写技巧与案例》这一主题进行详细的解析,涵盖Oracle查询优化的基本概念、重要性、改写技巧及其实际应用案例。 ### 一、Oracle查询优化概述 #### 1.1 查询优化定义 ...
Oracle使用技巧.docx
Oracle使用技巧及PL-SQL Developer配置
本书“Oracle查询优化改写-技巧与案例2.0”聚焦于这一主题,旨在为数据库管理员(DBA)和开发人员提供实用的指导。 1. **查询优化基础**:优化SQL查询始于理解Oracle的执行计划。书中可能涵盖了如何使用`EXPLAIN PLAN...
Oracle索引的创建、简介、技巧,希望可以给学习Oracle的人带来帮助!
"Oracle经验技巧集"这个压缩包文件显然是一份集合了众多Oracle使用中的实用技巧和经验总结,对于数据库管理员(DBA)以及开发人员来说,是提升技能、优化数据库性能的重要参考资料。 首先,"Oracle经验技巧集.doc...
自己总结的一点有用的SQL语句,分享给大家: 查字符串A在字符串B中出现的次数, 将数据库中同一组的某一字段用|连接起来放进一个字段中,误删记录后回滚,连接两个字段等
这份"Oracle经验技巧集锦"文档无疑是对于那些在Oracle数据库管理、开发或维护工作中寻求提高效率和解决问题的人们的一份宝贵资源。以下将对一些可能包含在文档中的关键知识点进行详述: 1. **SQL优化**:SQL查询是...
书写高质量的oracle sql,用表连接替换EXISTS,索引的技巧等等