![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle 基础
zhangxiaobo5152
追求 常清静
展开
-
树形结构的同级排序
查询的结果是按照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 · 1205 阅读 · 0 评论 -
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 · 216 阅读 · 0 评论 -
如何选择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 · 566 阅读 · 0 评论 -
插入数据时含特殊字符的处理
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 · 1524 阅读 · 0 评论 -
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 · 808 阅读 · 0 评论 -
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 · 302 阅读 · 0 评论 -
length()与lengthb()
eg. no1SQL> select length('红孩儿') as 名子 from dual; 名子---------- 3SQL> select lengthb('红孩儿') as 名子 from dual; 名子---------- 6eg. no2SQL> select原创 2015-12-25 10:58:15 · 986 阅读 · 0 评论 -
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 · 655 阅读 · 0 评论 -
跳过已编辑未提交的数据
----------共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 · 286 阅读 · 0 评论 -
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 · 195 阅读 · 0 评论 -
集合操作符
union :合并结果集并去重复union all :合并结果集minus :结果集1-结果集2的差集intersect :结果集1与结果集2的共有部分原创 2015-12-31 10:19:27 · 217 阅读 · 0 评论 -
不常用的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 · 210 阅读 · 0 评论 -
不等值的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 · 283 阅读 · 0 评论 -
分区水位的释放
--删除数据 但是没释放空间 水位还在 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 · 311 阅读 · 0 评论 -
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 · 475 阅读 · 0 评论 -
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 · 282 阅读 · 0 评论 -
查数据库部分视图或表
select * from v$version;--数据库版本注:后期还会陆续增加,以方便以后使用原创 2015-12-25 17:01:47 · 257 阅读 · 0 评论