oracle
cap_jack_sp
走别人没走过的路,让别人有路可走。
展开
-
使用dbcp连接池用getJdbcTemplate操作clob字段
先简单介绍一下我的项目,是基于spring+struts2+jdbc的,数据库是用的oracel 11g,使用的是dbcp连接池进行连接的。问题描述:在插入clob字段时,出现异常:OracleLobCreator needs to work on [oracle.jdbc.OracleConnection], not on [org.apache.commons.dbcp.Poolabl原创 2016-01-07 23:37:08 · 827 阅读 · 0 评论 -
Oracle 物化视图
1、创建物化视图:create materialized view MV_YHMYDBB PARALLEL 10refresh force on demandstart with sysdate next trunc(sysdate) + 1 + 5/1440asselect ……2、手动刷新物化视图:alter materialized view MV_YHMYDBB ref原创 2017-05-12 08:30:46 · 639 阅读 · 0 评论 -
Oracle定义varchar2()类型存储汉字的长度问题
varchar2最大是4000字节,那么就看你的oracle字符集:(select userenv('language') from dual;)如果字符集是16位编码的,ZHS16GBK,那么每个字符16位,2字节,所以可以容纳2000字符。如果是32位编码的字符集,那么只能存储 1000个字符。例如:varchar(50) 表示该字段类型为varchar2类型,长度为50,可以转载 2017-06-07 09:47:26 · 9132 阅读 · 0 评论 -
Oracle存储过程判断字符是否为空
IF p_Gold_Card_No p_Audit_Rst_Flag := 'Y'; p_Rcd_Audit_Item.Audit_Rst_Flag := p_Audit_Rst_Flag; RETURN; END IF;上述写法是错误的,正确的写法是:IF p_Gold_Card_No is not nu原创 2017-06-19 14:16:04 · 26195 阅读 · 0 评论 -
count(*) over(partition by…的用法记录
测试数据为:查询:select count(*) over(partition by col1) from tmp_test;查询结果:展示每一行中,根据col1分组的数量。类似于select count(8) from tmp_test group by col1;只不过每一行,都展示分组结果。还可以根据多列分组:select count(*) over(part原创 2017-06-29 19:23:41 · 78155 阅读 · 0 评论 -
ORA-14551: 无法在查询中执行 DML 操作
背景编写了一个存储过程,用来实现单条工单自动派工的功能,大致框架如下:FUNCTION FUN_SV_AUTO_DISPATCH(in_request_id IN NUMBER) RETURN VARCHAR2 IS --可以派工的工单 CURSOR CURSOR_AUTODISPATCH IS SELECT SVRQ.* FROM SV_RE原创 2017-08-03 13:30:48 · 1164 阅读 · 0 评论 -
Oracle查询优化
查询优化 本章讨论SQL处理、优化方法,以及查询优化器(通常称为优化器)如何选择执行SQL的特定计划。 这一章包含以下部分:查询优化器的概述优化器访问路径的概述连接概述阅读和理解执行计划控制优化器行为1.1查询优化器的概述 优化器是Oracle数据库内置的软件,它决定了执行SQL语句的最有效方式。 本节包含以下主题:优化器操作查询优化器的翻译 2017-08-17 16:37:12 · 675 阅读 · 2 评论 -
在使用RBO的情况下,出现两条或两条以上的执行路径的等级值相同的情况下,如何调整执行计划?
如果在目标SQL中使用了hint,就意味着自动启用了CBO(仅有两个例外),那如何在使用RBO的情况下对执行计划做调整呢?1、等价改写目标SQL比如在SQL的where条件中对number或date类型的列加上0,在varchar2或char上加上空字符串,例如||'',这样就可以让原本可以走的索引走不了。2、通过调整索引在数据字典缓存中的缓存顺序来改变执行计划会优先使用后创建(创原创 2017-10-18 21:01:54 · 448 阅读 · 0 评论 -
oracle锁表处理
查看锁表进程SQL语句1:select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session ses转载 2017-10-30 10:10:12 · 310 阅读 · 0 评论