- 博客(28)
- 收藏
- 关注
原创 差集与交集
检验minus差集作用:(输出1)select a from(select 1 a from dual union all select 1 a from dual union allselect 3 a from dual union all select 4 a from dual ) t1minusselect a from(select 21 a from
2016-02-26 17:01:17
595
原创 sql输出执行计划范例
explain plan forselect count(*) from temp_zhangxb_2015110501a a where a.cust_id is null;select * from table(dbms_xplan.display());
2016-01-13 17:31:16
367
原创 重复记录的处理
方案1delete from temp_zhangxb_2015110501a a where a.cust_id in (select a.cust_id from temp_zhangxb_2015110501a a group by a.cust_id having count(cust_id) > 1) and rowid not in (select min(rowid) from
2016-01-13 10:39:45
279
原创 怎么在大表中找到null的几条数据?
我们假设temp_zhangxb_2015110501a 是千万级的大表,而cust_id中有几个null值,且cust_id 中不会存在'1'的值,那么我们这么做:create index ind_custid2 on temp_zhangxb_2015110501a(nvl(cust_id,'1'));select /*+ index(t ind_custid2)*/* from
2016-01-13 10:06:10
357
原创 Oracle 关于null的函数
NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致 NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型 NULLIF (expr1, expr2
2016-01-13 09:50:34
251
原创 ORA-06502 实例
过程报错 ORA-06502:pl/sql:数字或值错误:字符串缓冲区太小找到对应报错行,查找所在对应的出错位置到底是插入的字段超了,还是定义的变量长度不够,本小编,采用的方法是采用demo的过程,将报错位置的变量扩大长度,重新在测试环境跑demo,过程无报错于此同时在插入游标的数据中加入了distinct 去除重复数据,以保证后面拼接的字段不会重复小编抛砖引玉,希望对
2016-01-13 09:39:04
407
转载 autotrace 例子
sec@ora10g> set autotrace onsec@ora10g> select * from t where x = 'secooler';X--------secoolerExecution Plan----------------------------------------------------------Plan has
2016-01-12 16:59:45
302
转载 索引的升序 降序
/*+ INDEX_ASC(TABLE INDEX_NAME) */表明对表选择索引升序的扫描方法.SELECT /*+INDEX_ASC(EMPMS PK_EMPMS) */ * FROM EMPMS WHERE DPT_NO='SCOTT';/*+ INDEX_DESC(TABLE INDEX_NAME) */表明对表选择索引降序的扫描方法.SELECT /*+IN
2016-01-12 16:55:59
5844
转载 如何选择first_rows和all_rows
若追求数据的最大吞吐量 则选择all_rows 的hint;若追求最快响应速度 则选择first_rows的hint(FIRST_ROWS(n) ,第一时间返回前n条纪录,(n 必须是1,10,100,1000,....));
2016-01-12 16:49:35
615
转载 hint 索引示例
hint index(table_name index_name)SQL调优 对比索引和非索引扫描hint index_ffs(table_name index_name)常用于统计索引列键值的个数,如count(object_id),跟全表扫描很像,但效率要比全表扫描要高很多,FAST FULL SCNhint index_ss(table_name index_na
2016-01-12 15:38:04
652
原创 集合操作符
union :合并结果集并去重复union all :合并结果集minus :结果集1-结果集2的差集intersect :结果集1与结果集2的共有部分
2015-12-31 10:19:27
268
原创 不常用的any some all
select * from temp_zhangxb_20150915_1 t where t.proj_cd >= any('504','505','506'); --输出结果:列出>=504的数据select * from temp_zhangxb_20150915_1 t where t.proj_cd >= some('504','505','506');--输出结果:列出>=504的
2015-12-31 09:48:47
234
原创 不等值的3种表达方式
select * from temp_zhangxb_20150915_1 t where t.proj_cd ^= 510;select * from temp_zhangxb_20150915_1 t where t.proj_cd != 510;select * from temp_zhangxb_20150915_1 t where t.proj_cd <> 510;
2015-12-31 09:28:33
333
原创 分区水位的释放
--删除数据 但是没释放空间 水位还在 DELETE FROM ucr_sta.TF_R_SIMCARDINFO_BAK partition PAR_TF_R_SIMCARDINFO_BAK_01;--删除数据 释放空间 水位下降 alter table ucr_sta.TF_R_SIMCARDINFO_BAK truncate PARTITIO
2015-12-30 17:32:13
335
原创 natural join 为何物
natural join 的存在看似多余 因为它不够严谨,不够灵活,自己匹配相同字段的相同内容,近而进行连接create table temp_zhangxb( ABC varchar2(30));create table temp_zhangxb1( ABC varchar2(30));create table temp_zhangxb2(
2015-12-30 17:27:54
511
转载 Select执行顺序
SQL Select语句完整的执行顺序: 1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;6、计算所有的表达式;7、select 的字段;8、使用order by对结果集进行排序。
2015-12-30 17:19:13
317
转载 树形结构的同级排序
查询的结果是按照mid和id的层次关系排好了序,但是我们希望在具有相同父亲的孩子之间按照name来排序,这样加上order siblings by name子句的查询结果如下:SQL> select name,level,mid,id ,lpad(' ',level*2)||id level_id,SYS_CONNECT_BY_PATH(id,'/') path2 ,CONNECT
2015-12-30 17:15:37
1260
原创 插入数据时含特殊字符的处理
eg.insert into uop_cen1.td_s_modfile (MOD_CODE, MOD_NAME, MOD_TYPE, REMARK, UPDATE_TIME, UPDATE_STAFF_ID, UPDATE_DEPART_ID)values ('CUST132', '/statmanm/statmanm?service=page/report.cust.cust032&D
2015-12-25 17:23:39
1583
转载 range,hash,list分区
A.创建range分区,一般用于日期化处理,range分区可以很好的管理基于日期来分区的数据创建样本数据表create table zhangxb (orderid number(10),name varchar2(10),ls_date date);insert into zhangxb values (1,'ls1',to_date('1981-01-02','yyyy-mm-dd
2015-12-25 17:11:47
846
原创 savepoint跳转处理
create table temp_zhangxb( abc varchar2(10));DECLARE v_number number; BEGIN v_number := 1; insert into temp_zhangxb values('1'); savepoint A; insert into
2015-12-25 16:52:50
335
原创 length()与lengthb()
eg. no1SQL> select length('红孩儿') as 名子 from dual; 名子---------- 3SQL> select lengthb('红孩儿') as 名子 from dual; 名子---------- 6eg. no2SQL> select
2015-12-25 10:58:15
1092
原创 ASCII 转换实例
1.将字符串转换成码值select ascii('a') from dual;--97select ascii('A') from dual;--65select ascii(' ') from dual;--32select ascii(' ') from dual;--322.将码值翻译成原字符串select chr(97) from dual;select
2015-12-25 10:36:37
692
原创 跳过已编辑未提交的数据
----------共8条记录 1条记录修改未提交SELECT T.*,T.ROWID from temp_zhangxb_20151224 T;----------另外窗口可查到7条记录 跳过1条SELECT * from temp_zhangxb_20151224 t where t.textchar in ('1','2','3') FOR UPDATE SKIP LOCKED;
2015-12-24 17:29:29
315
转载 Oracle OLTP OLAP粗概
数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提
2015-12-24 17:21:54
335
1
转载 ddl dml
DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop index 删除索引当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。DMLinsert 将记录插入到数据库upd
2015-12-24 17:03:27
234
转载 in 里的小表做驱动表
select /*+ use_nl(T@SEL$2,T@SEL$1) leading(T@SEL$2) */ code,name,idcode,address,room,indate from scotte.T_S_ROOM t where code in (select code from scotte.T_S_ROOM t where name='张三' and indate ='1
2015-12-24 16:57:50
460
转载 Oracle AWR粗概
Oracle Database 10g 提供了一个新的工具:(AWR:Automatic Workload Repository)。Oracle 建议用户用这个取代 Statspack。AWR 实质上是一个 Oracle 的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。因工作未涉及awr分析,故未做深入研究,只做大概了解
2015-12-24 16:23:00
206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人