自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 正则表达式 REGEXP_REPLACE

regexp_replace(srcstr => ,pattern => ,replacestr => ,position => ,occurrence => ,modifier => )语法说明:srcstr:字段 pattern:替换的字段 replacestr:替换成什么 position:起始位置(默认从1开始) occurrence:替换的次数(0是无限次) modifie

2017-06-30 15:51:25 14615

原创 Oracle 中通配符的使用情况

Oracle 中通配符的使用情况  用于where比较条件的有:  等于:=、、>=、<>  包含:in、not in exists、not exists  范围:between……and、not between……and  匹配测试:like、not like  Null测试:is null、is not null  布尔链接:and、or、not  通配符:

2017-06-30 10:56:25 774

原创 使用正则表达式对xml文件中数据字典进行整理

在工作中,需要对xml文件中数据字典进行整理。SQL> create table t1(text varchar2(4000)); 表已创建。 SQL> insert into t1 values(' 2 3 '); 1 row inserted SQL> commit; Commit complete SQL> select

2017-06-29 15:38:33 682

原创 正则表达式regexp_substr

正则表达式regexp_substr截取字符串 ①select regexp_substr(string, '[^,]+', 1, level) from dualconnect by level <= regexp_count(string, '[^,]+') and rowid = prior (rowid) and (prior dbms_random.v

2017-06-29 15:26:38 8655

原创 请使用PLSQL删除bigt中的owner='SYS'的数据,每次删除500条,删除掉50000条即可。

构造测试表请使用PLSQL删除bigt中的owner='SYS'的数据,每次删除500条,删除掉50000条即可。技术要求:1、游标2、循环结构3、批量forall处理---在命令窗口执行exec create_table('t1');--默认创建10万的数据量---SQL窗口 begin create_table('t1'); end ;select count(*) fro

2017-06-29 09:38:53 819

原创 q1: 插入了一行之后,持续插入一行,是在原来的块还是新的块? 数据块DUMP

q1: 插入了一行之后,持续插入一行,是在原来的块还是新的块? 如果判断这个块有没有剩余空间 在选择在哪个块进行插入时,会根据进程算一个hash值。堆表是随机插入的,在插入的时候,随机找到高水位以下的空闲块进行插入,一个区是由8个块组成,前三个块是不可用的块。drop table t10;create table t10(id int);insert into t10 values(

2017-06-28 18:27:12 526

原创 罗列出一年的星期数

N1:with x0 as(select to_date('2016-01-01','yyyy-mm-dd') as 年初 from dual),x1 as (select 年初,add_months(年初,12) as 下年初 from x0),x2 as (select 年初,下年初,下年初-年初 as 天数 from x1),x3 as /*生成列表*/(select 年初+(LE

2017-06-27 10:47:08 317

原创 报表优化-------根据IP地址对比起始IP和结束IP找到相应的地域(判断两个IP地址)

这个报表很慢,通过测试发现慢的原因是在关联IP地址库上表较慢,这里需要通过给定的IP地址,对比IP地址起始IP和结束IP范围找到所在区域。通过自定义函数直接去关联或者是通过拆分对每个值去关联,这两张方式都是十几分钟,如果查询的数据量大的话直接宕机。但是不关联IP地址库的话5秒就出结果。我最终返回的数据有将近30万的数据,IP地址库有60多万数据。最终通过两种方式处理,方式一:32秒就出数据

2017-06-26 21:18:23 1512 3

原创 sqlload导入txt文件

1、创建表 create table dm_ip_class  (    ipstart             varchar2(50),       ipend               varchar2(50),       country             varchar2(50),       isp                 varchar2(100)

2017-06-23 17:09:06 1477

原创 触发器Trigger

非工作日不能对EMP表进行删除、更新操作,使用触发器create or replace trigger tri_empbefore delete or update or insert on empbeginif to_char(sysdate, 'DY', 'nls_date_language = AMERICAN') in('SAT', 'SUN') thenraise_applic

2017-06-19 14:12:04 284

原创 lengthb 函数和 length 函数

lengthb 函数和 length 函数lengthb函数计算字节数,length函数记录字符数首先查看数据库的字符集:select * from nls_database_parameters; PARAMETER VALUE---------------------------

2017-06-16 17:07:31 3661

原创 使用Merge优化改写一个update语句

业务需求需要将错误数据进行整理,主要是针对于length(l.brchno) >= 4这部分数据,以下是一个UPDATE进行更新的操作。源表有28万的数据量,符合条件的有54327条数据。UPDATE执行时间大概是一个半小时,使用Merge进行优化后执行时间是27秒explain plan forupdate sif_member_load l set l.brchno =

2017-06-16 14:33:00 1664

原创 序列(sequence)语法

1、创建、删除create sequence seq_newsIdincrement by 1start with 1maxvalue 999999999;得到序列的SQL语句select seq_newsid.nextval from sys.dual;删除序列的SQLDROP SEQUENCE seq_newsId;

2017-06-06 15:06:04 876

原创 同表两字段值互换+设置列默认值+设置主键值

t2这张表存在两个问题:1 ID有部分历史数据是null,现在为了线上线下实现同步,需要设置主键值。并且使用sys_guid()函数设置默认值2 数据数据的name列和name1列值出现错误,需要互换1、①:修改历史数据update t2 set id = sys_guid() where id is null;commit;②:设置默认值 alter table t2 modi

2017-06-05 18:03:47 352

原创 修改数据类型+增加列+修改列名+设置主键+设置键值默认值+sys_guid函数

表 t1,字段 id(number) ①:修改字段数据类型 alter table scott.t1 modify id varchar(2000); ②: 增加字段alter table t1 add name varchar2(40);③:原表数据有空值,设置主键值(使用sys_guid()函数先进行更新)update t1 set id = sys_guid();com

2017-06-05 11:35:55 2455

原创 Merge into(Oracle 9i引入的功能),其语法如下:

MERGE INTO table_name alias1 USING (table|view|sub_query) alias2ON (join condition) WHEN MATCHED THEN     UPDATE      SET col1 = col_val1,            col2 = col_val2 WHEN NOT MATCHED THE

2017-06-05 10:30:48 365

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除