oracle
文章平均质量分 54
qq27456026
这个作者很懒,什么都没留下…
展开
-
oracle instr ,case when
今天新学了一个函数instr(str1,str2,m,n);从m开始,在str1中查找出现n次的str2字符串 还有case when 用法,之前只是知道但遇到过实际情景,也就没记,这回写了下,记住了 selectcol1,col2,case when instr(col,'str',1,1)>0 then 1 else 0 end discolfrom ...原创 2011-04-13 16:31:27 · 235 阅读 · 0 评论 -
SQL效率之索引
一、关于索引的知识要写出运行效率高的sql,需要对索引的机制有一定了解,下面对索引的基本知识做一介绍。1、索引的优点和局限索引可以提高查询的效率,但会降低dml操作的效率。所以建立索引时需要权衡。对于dml操作比较频繁的表,索引的个数不宜太多。2、什么样的列需要建索引?经常用于查询、排序和分组的列(即经常在where、order或group by子句中出现的列)。3、主键索引和复合索引对于一张表的...原创 2012-02-03 15:34:43 · 100 阅读 · 0 评论 -
大数据量提高性能变通方法
大数据量需要变通 方法之一如下: 可以使用 row_number() over()方法进行, 示例: select * from (select a,b,c, row_number() over(partition by a,b,c order by a,b,c) rw from tab ) where rw=1 这样,可以将大数据量的temp表空间排序...原创 2012-05-11 10:43:39 · 157 阅读 · 0 评论 -
Oracle的转义字符需要用ESCAPE函数来定义
SQL> create table t_char(a varchar2(20));SQL> insert into t_char values('a_b');SQL> insert into t_char values('acb');SQL> insert into t_char values('a%b');SQL> insert into t_c...原创 2011-03-28 11:21:51 · 172 阅读 · 0 评论 -
java调用存储过程返回的结果集(游标)
新建存储过程create or replace procedure getcur(p_rc out sys_refcursor) is begin open p_rc for 'select * from room';end getcur; java中调用 Class.forName("oracle.jdbc.dri...原创 2011-03-25 11:46:40 · 724 阅读 · 0 评论 -
Merge Sql
转自:http://dikar.iteye.com/blog/797321我们经常遇到的一个需求是,先判断数据是否存在,如果存在则更新,否则就插入,以前比较土是用java自己做了。这个在多线程或者多机的情况下就会有些问题,有时候还得让db报个唯一性约束才行。 最近和一个同事(以前是oracle的)做项目,发现他写了个牛逼的sql(或者说自己见识太短浅了),特此膜拜下 类似这...原创 2011-03-20 16:47:59 · 165 阅读 · 0 评论 -
头一回写这么麻烦的oracle查询语句,请高手轻拍
今天同事遇到一问题,写查询不知如何下手,因为查询某条详细信息时,其中大概有10个字段都是存的字典表的编码,但在展示时需要转换成实际名称。比如字典表名为dic,其中有dicid,code,context等字段需查询的人员信息表名为RY,其中有性别,民族,证件类型,人员类别等等字段 我将SQL语句写成下面这样,不知道这样写好不好,因为我不知道他底层执行的机制和原理,所以请高人鉴定,有好...2011-03-19 19:32:15 · 65 阅读 · 0 评论 -
sqlplus登录
1.直接敲sqlplus并回车就是启动SQL*PLUS,输入user及password将使用户登陆到缺省的数据库。请输入用户名:2.sqlplus user/password@SERVICE_NAME 将连接到指定的数据库。3.敲sqlplus /nolog就是使SQL*PLUS启动,但不登陆Oracle数据库。然后需要使用connect命令连接Oracle。SQL...原创 2011-09-30 16:42:52 · 77 阅读 · 0 评论 -
临时表空间不足ora-01652
非临时表空间:select file_id from dba_data_files where tablespace_name=<your_tablespace_name>;alter database datafile <file_id> autoextend on next 10M maxsize 10G; 临时表空间:select file...原创 2011-03-01 15:08:19 · 170 阅读 · 0 评论 -
oracle实用语句及函数记录
查询插入:insert into table_A(col1,col2) select col1,col2 from tab_B where condition; 补齐函数:lpad(col1,length,'a'),左边补齐函数,用于处理数据,将col1列的数据,格式化成固定length长度的字符,不足长度时用'a'补充,rpad是右边补齐函数 空值转换:nvl(col1,'a')...原创 2011-02-18 20:43:45 · 63 阅读 · 0 评论 -
字符转换CLOB插入数据库
public static CLOB oracleStr2Clob(String str, CLOB lob) throws Exception { Method methodToInvoke = lob.getClass().getMethod("getCharacterOutputStream", (Class[]) null); Writer writ...原创 2011-09-19 09:26:43 · 842 阅读 · 0 评论 -
Oracle因主机名或IP变动,导致EM无法启动的问题。
错误信息:WIN的事件查看器:An error occured while trying to initialize the service.手工启动:emctl start dbconsoleEnvironment variable ORACLE_SID not defined. Please define it.当执行set OARCLE_SID=orcl,继续报...原创 2011-02-14 16:17:19 · 322 阅读 · 0 评论 -
Oracle建表步骤
create tablespace x datafile 'x' size 1000M;create user yourname identified by yourpwd default tablespace x;grant connect,resource to name;原创 2011-02-12 15:06:54 · 98 阅读 · 0 评论 -
ORACLE分页查询
select * from (select id,rownum as rn from table where id=0 and rownum<=10) b where b.rn>0;原创 2011-01-24 17:08:56 · 68 阅读 · 0 评论 -
强大简单的mysql迁移到oracle的工具
http://www.5stardatabasesoftware.com/cn/mysqltooracle.php 收藏在这里了,防止哪天想用的时候万一他官网不能访问了 Convert Mysql to Oracle最新版本:4.0Convert Mysql to Oracle是一个免费的数据库转换工具,实现快速安全地将Mysql数据库导入为ORACLE数据库。 Conve...2011-01-13 10:25:17 · 376 阅读 · 0 评论 -
SQL in 和 exists区别(转)(数据量大,效率区别特别明显)
来源: 薛波的日志 in 和 exists区别 in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:...原创 2012-02-03 15:35:39 · 334 阅读 · 0 评论