
Oracle
jinhuazhe2013
Dream, Dare, Do!
展开
-
【Oracle】sqlplus小技巧
在sql*plus工具中,会有一个buffer(缓存),这个buffer中只能存放一条sql语句(不管这条sql语句多少行),buffer中会存放着我们最近一次执行过的一条sql语句。L或者l //大写或小写都可以list,显示buffer中存放的sql语句 / //这一命令可以执行buffer中的sql语句 2 //选择buffer中的第二行 a //在buffer中的sql语句的某一行原创 2016-08-28 21:51:47 · 604 阅读 · 0 评论 -
【Oracle】batchupdate每次处理多少条记录比较好呢?
对于oracle数据库,batchupdate每次处理到少条记录比较好呢?tom在这里对于jdbc的batchupdate说的比较直白了。批处理的N取值在100到500比较合理,500以上,适合数据仓库使用。链接地址(见页面底部,最后一贴):https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:12104360245原创 2017-11-06 15:27:38 · 5059 阅读 · 0 评论 -
oracle查询:取出每组中的第一条记录
Oracle查询:取出每组中的第一条记录 按type字段分组,code排序,取出每组中的第一条记录方法一:select type,min(code) from group_info group by type;注意:select 后面的列要在group by 子句中,或是用聚合函数包含,否则会有语法错误。方法二:SELECT * FROM(SELECT z.type , z.code ,ROW转载 2017-03-29 09:36:19 · 6581 阅读 · 0 评论 -
设置PL/SQL Developer代码提示快捷键
默认F6设置PL/SQL Developer代码提示快捷键为Alt+/ 打开PL/SQL Developer菜单 工具 》首选项,选择“键配置”转自:http://blog.youkuaiyun.com/linghao00/article/details/8004991转载 2017-03-27 18:11:41 · 2391 阅读 · 0 评论 -
【Oracle】批量删除表
sqlSET SERVEROUTPUT ON;DECLARELNAME VARCHAR2(200);BEGINFOR X IN (select TABLE_NAME from user_tableswhere table_name like 'SYMPHONY%') LOOPLNAME:= X.TABLE_NAME;EXECUTE IMMEDIATE 'DROP TABLE '|| X原创 2016-12-12 15:26:24 · 5478 阅读 · 0 评论 -
【Oracle 11g】为何加了索引反而查询变慢
这里我们探讨数据在磁盘上的物理组织 对索引的开销造成的影响。一般来讲,主键值彼此接近的行的物理位置也会靠在一起。(表会很自然地按主键顺序聚簇)本文讨论的是最长用的B*树索引。下图是典型的B*树索引布局 实验一、探究磁盘上的物理组织对索引的影响创建一张表SQL> create table colocated(x int, y varchar2(80));表已创建。有插入数据,注意,x是有顺序的。SQ原创 2016-09-21 00:26:21 · 19867 阅读 · 0 评论 -
【Oracle 11g】利用基于函数的索引只对部分行建立索引
基于函数的索引除了对使用内置函数(如UPPER、LOWER等)的查询显然有帮助外、还可以用来有选择的只对表中的某些行建立索引。前期准备从这里可以下载big_table.sql文件。 http://pan.baidu.com/s/1nvk3Ged 如不方便下载,可以直接从这里copy.create table big_tableasselect rownum id, a.* from al原创 2016-09-25 18:43:27 · 2377 阅读 · 0 评论 -
【Oracle 11g】ORA-01555: snapshot too old(快照过旧)错误
这个错误会导致:接收到这个错误的查询无法继续处理。引起这个错误的原因有3个:undo段太小,不足以在系统上执行工作。你的程序跨COMMIT获取(实际上这是前一点的一个变体)。块清除。解决方案适当地设置参数UNDO_RETENTION(要大于执行运行时间最长的事务所需的时间)。可以用V$UNDOSTAT 来去顶长时间运行的查询的持续时间。另外,要确保磁盘上已经预留了的空间,使undo段能根据原创 2016-09-06 00:18:52 · 10579 阅读 · 0 评论 -
【Oracle 11g】我们的触发器竟然触发了两次!——诱因:sql重启动
“怎么会发生这种事情?””我们的触发器触发了两次!“那些难以理解的事情,也许通过这里的实验可以窥探一二。原创 2016-09-01 23:41:55 · 4185 阅读 · 0 评论 -
【Oracle 11g】梳理下和事务相关的一些概念
事务(Transaction):数据库区别于文件系统的特性之一。 事务会把数据库从一种一致状态转变为另一种一致状态,这就是事务的任务。 Oracle多版本控制机制提供了非阻塞读,以及读写一致性。原创 2016-09-02 00:24:52 · 611 阅读 · 0 评论 -
【Oracle】从select for update开始
从select for update开始开发多用户、数据库驱动的应用时,最大的难点之一时:一方面要力争取得最大限度地并发访问,与此同时还要确保每个用户以一致的方式读取和修改数据。为此就有了锁定(locking)机制。User1连接数据库。 C:\Users\Administrator>sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Productio原创 2016-08-28 21:18:45 · 4205 阅读 · 0 评论 -
【转】oracle里IW和WW 区别
WW: 每年的1月1日作为当年的第一周的第一天(不管当年的1月1日是星期几); 比如:2004/01/01 是周四, 在Oracle中被定义为2004年WW的第一周的第一天;SELECT TO_CHAR(TO_DATE('20040101','YYYYMMDD'),'YY:WW'),TO_CHAR(TO_DATE('20040107','YYYYMMDD'),'YY:WW'),TO_CHAR(T转载 2017-12-17 11:32:44 · 469 阅读 · 0 评论