![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
wutheringsea
这个作者很懒,什么都没留下…
展开
-
Oracle 常用操作1
ROWID 行标识符 18位ROWNUM 行号 例:select rowid,rownum from customers; ========================================算术运算+,-,*,/ 例:select 2*6 from dual; =======================================...2010-03-28 23:40:30 · 52 阅读 · 0 评论 -
[转]Oracle行列转换语句总结
oracle行列转换总结开始前,附上一小段摘录在写一些SQL的时候,有时候会有需求把行转换成列或者把列转换成行;接下来,核桃博客会对在Oracle中作行列转换的方法做一些介绍;首先是行转换列,比如将N行转换成1列拼接成字符串,方法有很多,其中有一些比较复杂,但如果你是Oracle 10G以上,那么我觉得最简洁的方法就是使用wmsys.wm_concat函数,非常简单明了;假设有...原创 2010-11-16 22:37:09 · 142 阅读 · 0 评论 -
oracle里date格式的字段的年、月、日分别取出来
1. 单个时间值 select extract(year from 你的字段), extract(month from 你的字段) , extract(day from 你的字段) from dual; 2. 从表中的某个字段 select extract(year from 你的字段), extrac...原创 2011-01-29 15:55:25 · 1328 阅读 · 0 评论 -
JDBC连接Oracle 11g异常
最近的一个web应用,因为服务端是aix下新装的oracle11g,要求所有系统换成11g~重新配置好ip地址后,以前的应用报错: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in conn...原创 2011-01-29 14:46:09 · 124 阅读 · 0 评论 -
[转] Oracle 百万行数据查询优化
查询优化方法1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id ...原创 2011-08-15 21:57:24 · 128 阅读 · 0 评论 -
[转] ORACLE按照拼音,部首,笔画排序
下面的方法需要ORACLE9i和以上的版本才支持。Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音...原创 2011-05-22 21:33:14 · 67 阅读 · 0 评论 -
Oracle读书摘录3---序列的使用,限制会话,实例与数据库区别
1. 对于数据项需递增的问题,正确的解决方法是针对各个数据库使用最合适的代码。在Oracle 中,代码应该如下(假设表T 需要所生成的主键):create table t ( pk number primary key, ... );create sequence t_seq;create trigger t_trigger before insert on t for ea...原创 2010-10-07 00:02:10 · 78 阅读 · 0 评论 -
[转] 关于“ORA-01000: maximum open cursors exceeded”的问题
今天写poi的一个程序时,报错。过程如网上这位一样:今天采集Excel数据时候,老是报错:ORA-01000: 超出打开游标的最大数,可我的PrepareStatement明明是关掉的,最后发现是我for循环(含有一个PrepareStatement)中调用了另一个for(含有另一个PrepareStatement),类似递归的判断,难怪会出现“超出”的问题,后来在每一个PrepareS...原创 2011-05-16 23:18:59 · 91 阅读 · 0 评论 -
[转] Oracle函数取得姓名对应的拼音
/*取得姓名对应的拼音*/CREATE OR REPLACE FUNCTION F_GET_PY (V_XM varchar) RETURN VARCHAR2 IS s_py varchar2(100); z_hz varchar2(2); z_py varchar2(10); i number(3); i_jls number(5);BEGIN s...原创 2011-05-15 17:20:55 · 314 阅读 · 0 评论 -
[转] Oracle常用自带视图和表
dba_开头 dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespaces 数据库表空间信息 dba_data_files 数据文件设置信息 dba_temp_files 临时数据文件信息 ...原创 2011-05-15 17:18:01 · 132 阅读 · 0 评论 -
oracle构造一年的12个月
最近项目中遇到,记录下来 方法可以是: select '1' month from dual union allselect '2' month from dual union allselect '3' month from dual union allselect '4' month from dual union allselect '5' month from dua...原创 2011-01-03 12:42:56 · 1138 阅读 · 0 评论 -
Oracle读书摘录2---多版本、数据锁定和闪回
1. 以下是对Oracle 锁定策略的总结:Oracle 只在修改时才对数据加行级锁。正常情况下不会升级到块级锁或表级锁(不过两段提交期间的一段很短的时间内除外,这是一个不常见的操作)。如果只是读数据,Oracle 绝不会对数据锁定。不会因为简单的读操作在数据行上锁定。 2.Oracle 数据库中有两个非常重要的概念。多版本(multi-versioning)一词实...原创 2010-09-15 21:23:34 · 67 阅读 · 0 评论 -
Oracle读书摘录1---为什么要书写绑定变量的SQL语句
是否使用绑定变量这是导致Oracle性能问题的一个主要原因,也是阻碍可扩缩性的一个重要因素。Oracle 将已解析、已编译的SQL 连同其他内容存储在共享池(shared pool)中,这是系统全局区(SystemGlobal Area ,SGA)中一个非常重要的共享内存结构。这个结构能完成“平滑”操作,但有一个前提,要求开发人员在大多数情况下都会使用绑定变量。如果你确实想让Or...原创 2010-09-13 15:11:26 · 215 阅读 · 0 评论 -
[转]ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
用了路由器之后,连接ORACLE失败。错误信息:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务。找到以下方法配置后成功启动,内容如下:通过重启服务的方式启动数据库,再次连接却能成功登录,也就是说在关闭数据库状态下无法连接服务器。开始以为是系统环境变量Oracle_SID的配置问题,因为机器有多个实例,一阵折腾后还是不能连接。后来查资料得知: ...原创 2010-05-31 00:29:08 · 78 阅读 · 0 评论 -
Oracle 创建表空间
具体参数自己修改//创建临时表空间 create temporary tablespace test_temp tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048mextent ma...2010-03-29 00:03:20 · 60 阅读 · 0 评论 -
[转]oracle常用的一些SQL语句
用户授权:GRANT ALTER ANY INDEX TO "user_id "GRANT "dba " TO "user_id ";ALTER USER "user_id " DEFAULT ROLE ALL创建用户:CREATE USER "user_id " PROFILE "DEFAULT " IDENTIFIED BY " DEFAULT TA2010-03-29 00:01:12 · 43 阅读 · 0 评论 -
Oracle 常用操作3---SQLPLUS
SQLPLUS ====================================================== DESC 同 DESCRIBE 查询表结构 SAVE 保存sql文件 默认保存地址是Oracle安装目录下的db_1\BIN下面 SPOOL 输出sql执行结果到一个文件中SPOOL OFF 关闭输出 COLUMN 格...2010-03-28 23:47:14 · 65 阅读 · 0 评论 -
Oracle 常用操作2
笛卡尔积两表连接时未使用连接条件,导致第一个表的所有行都连接到第二个表所有行上,会形成笛卡尔积 =================================================外连接符号(+),左外连接和右外连接 左外连接,外连接操作符实际上是写在了等于操作符右边就应该这样写条件:where t1.col1 = t2.col2(+) ...2010-03-28 23:44:45 · 69 阅读 · 0 评论 -
Oracle分组查询后,获取最大值的记录
最近在写个分组查询获取最新时间戳的语句时,发现这样写挺受用的,分享之: select * from test a where a.updatetime=(select max(b.updatetime) from test b where a.type=b.type) ps:假设a是已经groupby之后的表。...原创 2011-12-27 21:29:45 · 1171 阅读 · 0 评论