
Orcale
heicm
这个作者很懒,什么都没留下…
展开
-
Oracle查询记录是否存在的效率问题
<br />最近要优化Oracle数据库的效率,然后在网上查了很多判断记录是否存在的高效率方法<br /> 网上有很多的建议第一种方法,我做了一个测试,但是可能数据量不够大,42667条记录,不知道很大的数据量是什么一个情况<br /> 网上好多高效的建议方式<br /> select * from item where item='1B241371X0021' and rownum<2;<br /> 但是我测试的结果:<br /> select * from item whe转载 2010-12-13 16:09:00 · 1074 阅读 · 0 评论 -
DEADLOCK DETECTED (ORA-00060)Trace实例分析
DEADLOCK DETECTED (ORA-00060)Trace实例分析Oracle中引入的行级锁的概念,在大幅提高性能的同时也带来了一点麻烦。对于设计不良或者说处理不当的应用逻辑,有可能出发死锁。对于死锁的跟踪和分析,最简单直接的方法就是分析trace文件。每出现死锁,系统都会生成一个trace文件到USER_DUMP_DEST目录下。SQL> show parameter USER_DUMP_DEST;NAME TYPE VALUE----------------------------转载 2011-05-09 16:24:00 · 1699 阅读 · 0 评论 -
Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace
<br />Oracle使用正则表达式离不开这4个函数:<br />1。regexp_like<br />2。regexp_substr<br />3。regexp_instr<br />4。regexp_replace<br />看函数名称大概就能猜到有什么用了。<br />regexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法很简单:<br /><br />regexp_substr 函数,和 substr 类似,用于拾取合符正则表达式描述的字符子串,语法如下转载 2011-04-20 14:46:00 · 1923 阅读 · 0 评论 -
ORA-06502: PL/SQL:numeric or value error!
<br />调用存储过程,得到错误信息是ORA-06502: numeric or value error.<br /> <br />最后发现是往一个varchar2的变量里面放数据的时候,超过了长度限制!!! <br /> <br />长度加长就ok了。<br />ORA-06502: PL/SQL: numeric or value error: character string buffer too small<br /><br /><br /> <br /> <br />原创 2011-03-30 15:40:00 · 1523 阅读 · 0 评论 -
Oracle SQL 内置函数大全
Oracle SQL 内置函数大全<br />SQL中的单记录函数<br />1.ASCII<br />返回与指定的字符对应的十进制数;<br />SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;<br />A a ZERO SPACE<br />--------- --------- --------- ---------<br />65转载 2011-03-30 11:21:00 · 461 阅读 · 0 评论 -
交叉表、行列转换和交叉查询经典
交叉表、行列转换和交叉查询经典一、什么是交叉表“交叉表”对象是一个网格,用来根据指定的条件返回值。数据显示在压缩行和列中。这种格式易于比较数据并辨别其趋势。它由三个元素组成:行 列 摘要字段“交叉表”中的行沿水平方向延伸(从一侧到另一侧)。在上面的示例中,“手套”(Gloves) 是一行。 “交叉表”中的列沿垂直方向延伸(上下)。在上面的示例中,“美国”(USA) 是一列。 汇总字段位于行和列的交叉处。每个交叉处的值代表对既满足行条件又满足列条件的记录的汇总(求和、计数等)。在上面的示例中,“手套”和“转载 2011-03-29 18:22:00 · 2102 阅读 · 0 评论 -
oracle日期函数IW和WW 的区别 oracle求当前日期是今年第几天,第几周,第几月,第几季度?
最近做报表需要取某天是当年的第几周,用到了oracle的两个取周的函数。WW: 每年的1月1日作为当年的第一周的第一天(不管当年的1月1日是星期几); 比如:2011/01/01 是周六, 在Oracle中被定义为2011年的第一周的第一天; SELECT to_char(TO_DATE('20110101','YYYYMMDD') ,'yyyyww') as week FROM DUAL;IW : 是周算法以周别为“主线” ,每年最多可以有53个周B别原创 2011-03-29 18:02:00 · 5980 阅读 · 1 评论 -
oracle 时间函数 select to_char(sysdate,'fmww') from dual
<br />在系统时间基础上延迟5秒 <br /> sysdate+(5/24/60/60)<br /> 在系统时间基础上延迟5分钟<br /> sysdate+5/24/60<br /> 在系统时间基础上延迟5小时<br /> sysdate+5/24<br /> 在系统时间基础上延迟5天 <br /> sysdate+5<br /> 在系统时间基础上延迟5月 <br /> add_months(sysdate,-5)<br /> 在系统时间基础上延迟5年 <br /> add_转载 2011-03-29 18:13:00 · 10747 阅读 · 0 评论 -
Oracle增加删除主键
<br />1、创建表的同时创建主键约束<br />(1)无命名<br />create table student (<br />studentid int primary key not null,<br />studentname varchar(8),<br />age int);<br />(2)有命名<br />create table students (<br />studentid int ,<br />studentname varchar(8),<b转载 2011-05-10 10:48:00 · 653 阅读 · 0 评论 -
oracle 动态交叉查询 行列互换 oracle动态交叉表
问题描述如下:有张表cityorder,有如下几个列:id,amount,city,date。表中有以下一些记录: id amount city date 1 12 001 08-11-16 2 14 001 08-11-17 3 25 002 08-11-16 4 23 002 08-11-17 记录按如下方式展示的sql语句???? city 08-11-16 08-11-17 001 12 14 002 25 23 如果日期列的值个数固定可以用decode或原创 2011-03-17 15:36:00 · 7481 阅读 · 0 评论 -
ORACLE多表查询优化
ORACLE有个高速缓冲的概念,这个高速缓冲就是存放执行过的SQL语句,那oracle在执行sql语句的时候要做很多工作,例如解析sql语句,估算索引利用率,绑定变量,读取数据块等等这些操作。假设高速缓冲里已经存储了执行过的sql语句,那就直接匹配执行了,少了转载 2011-07-04 16:32:41 · 914 阅读 · 0 评论