自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQLServer 导入数据 提示未在本地注册microsoft.ace.oledb.12.0

解决办法:下载accessdatabaseengine.exe 不要下载64位,使用64位还是会报错下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=54920C:\Users\17140>C:\Users\17140\Downloads\AccessDatabaseEngine.exe /quiet

2021-08-13 11:02:51 1402

原创 HIVE关联key数据类型不一致导致数据重复

结论:字段类型不一致,关联时将key转为double,导致精度丢失示例:select cast(186994576061124660 as double)和select cast(186994576061124559 as double)结果都是1.86994576061124672E17 导致最终mapping结果重复解决方法:需要将id转为string,修改后执行计划见图2...

2021-08-13 11:02:16 609

原创 重装Virtual Box 时回滚报错

安装时报错信息:Orade VM VirtualBox 5.0 Setup Wizard ended prematurely because of an error.Toinsatallthisprogramatalatertime,runSetupWizardagain.ClicktheFinishbuttontoexittheSetupWizard....

2019-05-27 20:35:23 5576 10

原创 MySQL安装employee数据库,报Unknown system variable 'storage_engine'错误

(1)下载文件 employees_db-full-1.0.6.tar.bz2(2)通过xshell rz方式上传文件,通过以下命令解压tar jxf employees_db-full-1.0.6.tar.bz2(3)安装employee数据库[root@localhost employees_db]# mysql -uroot -S /tmp/mysql.sock -p < e...

2019-03-22 16:54:14 4530

原创 OLAP和OLTP的区别

在面试时经常会有考官问这个问题,做个笔记定义:OLAP:定义:是以数据仓库或者数据多维视图为基础的数据分析处理,是针对特定问题的联机数据访问和分析,他一般不对仓库数据进行修改处理,而只是查询,其应用主要是针对客户当前及历史数据进行分析,辅助领导决策,其典型的应用对银行信用卡风险的分析与预测、公司市场营销策略的制定等,主要是进行大量的查询操作。 在线联机分析工具,主要是进行查

2017-12-14 18:15:52 651

原创 OBJECT_ID 函数

OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ] object_name' [ ,'object_type' ] ) 或者是OBJECT_ID('object_name') 参数: object_name 是对象名,一般是varchar类型或者是nvarchar类型,如果是varchar则会隐式转

2017-12-13 10:27:19 2806

原创 sqlserver中将数据为12-May 修改为2012-05形式

总结:1、在对数据进行修改之前一定要备份一下,sqlserver进行备份方式不是create table as的形式而是使用select * into target_tab from source_tab,这一次幸好先进行备份,数据更新有些失误,要的是2012-01这种形式,直接更新成12-012、使用截取函数和oracle不一样,是SUBSTRING函数。3、查询时不需要dual表,这个和

2017-12-12 18:18:10 511

原创 将一串数字转换成多列数据

with t as (select '123456789' numbr from dualunion allselect '234567'numbr from dualunion allselect '1234'numbr from dual),t1 as (select ltrim(REGEXP_REPLACE(numbr,'\d{0}',','),',') id from t)

2017-12-08 16:02:35 671

原创 SQLServer中的日期函数

个人觉得sqlserver数据库的日期函数和postpresql语法比较类似1、getdate()获取当期日期: select getdate()2、dateadd 在向指定日期加上一段时间 ----这里参数可以是year、month、dayselect dateadd(day,10,'2017-11-01')2017-11-11 00:00:00.0003、datediff 返回跨

2017-11-29 17:36:42 496

原创 SQL Server DATEDIFF() 函数和IFF函数

2017年11月中旬开始接触sqlserver数据库遇见几个函数也通过百度语法学习整理如下:DATEDIFF() 函数:返回两个时间之间的差DATEDIFF(datepart,startdate,enddate)startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是下列的值:datepart 缩写年 yy, yyyy季度

2017-11-28 16:26:32 1261

原创 postpresql 打印变量+自定义错误并返回+for循环语法模板

CREATE OR REPLACE FUNCTION p_test(p_syscd TEXT) RETURNS TEXT AS $BODY$ DECLARE V_STARTTIME TIMESTAMP WITHOUT TIME ZONE; ---定义任务开始时间 V_ENDTIME TIMESTAMP WITHOUT TIME ZONE; ----定义任务结束时间 V_ERROR

2017-10-17 18:08:53 655

原创 使用Postpresql创建存储过程的时候报一个错误 ERROR: array value must start with "{" or dimension information

SELECT COUNT ( DISTINCT CASE WHEN T .trandt >= substr('20170930', 1, 6) || '01' THEN member_cd END ) recharg_ct_monFROM cds.CDS_P_RECHARGE T;报一个错误 ERROR: array value must start with "{

2017-09-30 17:15:06 3530

原创 数据仓库--postgresql for 循环记录完成存储过程总调度

业务需求:需要创建一个存储过程调度五个存储过程,思路使用FOR循环获取表名,由于存储过程是P_加表名,定义一个变量获取存储过程名。执行存储过程必须判断task表里执行的状态,如果是0则执行存储过程,并更新task里的状态和执行时间。在此遇见两个问题:oracle和POSTSQL还是有很大区别的遇见一个错误:1、在执行select into SQL语句的时候会报错,解决方法:先定义一个SQ

2017-09-28 11:05:56 10382

原创 GP库查看表上的锁

1、查看表中存在的锁select a.locktype,a.database,a.pid,a.mode,a.relation,b.relnamefrom pg_locks ajoin pg_class b on a.relation = b.oidwhere upper(b.relname) = 'table_name';2.杀掉进程。kill有两种方式,第一种是:SEL

2017-09-27 10:30:55 4941

原创 阿里quick_bi和biee报表工具的对比

最近在用两个报表工具开发,然后做了一下对比。quick_bi阿里提供的视频足够可以去完成业务部门的需求了,选项也比较简单,还是比较人性化的设计毕竟软件开发出来是为了人更好使用,我接触的可能比较浅显,从我开始接触这个软件到能够开发报表就花了半个小时,然后就能够做列表展示的报表了。以下进行了总结总结:1.做报表第一步是从数据源入手,进行计算的值在数据源进行增加,修改字段名称。(这里对于特殊

2017-09-05 15:22:34 5722

原创 PostgreSQL的学习

PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统) 。PostgreSQL使用一种客户端/服务器的模型。一次PostgreSQL会话由下列相关的进程(程序)组成: 一个服务器进程,它管理数据库文件、接受来自客户端应用与数据库的联接并且代表客户端在数据库上执行操作。 该数据库服务器程序叫postgresPostgreSQL服务器可以处理来自客户端的多个并发请求以下对

2017-08-31 18:09:38 1131

原创 工作中行转列的小需求

很久没有更新博客了,最近工作事情比较杂多,还给自己报考了驾校(一个到现在才去学车的人,真的很懒了)产品有一个需求是这样的,要看一个用户最后三次的登录时间,并且按列展示。t_member 表是用户表(记录用户id和一些用户信息),t_member_log 表是登录日志表,记录的是用户和登录时间。一看到这个需求就想到了行转列,以下就是实现方式select m.account_no 电子账

2017-08-24 09:55:03 297

原创 PLSQL条件语句完成员工加薪功能(记录类型+游标case when+if+for update+where current of)

TEST1:请使用函数+plsql完成给员工加薪的功能。CLERK 加薪 20%; SALESMAN 加薪30%; MANAGER 加薪35%SQL> select * from t; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ----

2017-07-24 11:23:33 3836

原创 kettle 几个小问题总结

N1:如果不清楚一个表的表结构,可以采用以下方式:2、设置并行度

2017-07-20 10:46:05 500

原创 业务需求:将mysql库表数据放到oracle数据库

公司前端的数据库是mysql数据库,现在需要将mysql库表数据放到oracle数据库。1、进行全量抽取使用两个组件就能够完成这个功能。表输入组件配置如下:表输出组件配置如下:

2017-07-19 10:10:16 357

原创 报表需求:周一提取周五到周日的数据,其他时刻提取当天数据

现在的需求是,出一张日报,每天发送的是前一天的数据。如果是周末的话,不出数据,等在周一提取上周五到这周日的数据。实现以上功能。现在7月14,模拟7月10号的状况交易表数据with invest as (select to_date('20170702', 'yyyymmdd') + level dt, level + 100 tranam from dual connect

2017-07-14 17:27:37 986

原创 PLSQL嵌套块

外部块里嵌套三个匿名块:匿名块1:查询部门名称匿名块2:更改部门地址匿名块3:处理异常,插入新的部门总结:外部匿名块包含三个内部匿名块,(1)第一个嵌套块如果找不到数据会直接调到异常no_data_found里(2)第二个嵌套块只有当第一个匿名块得到执行以后才能够执行(3)第三个嵌套块,这个块首先插入数据,如果插入数据的时候发生错误,会触发嵌套块里的异常块。 declare

2017-07-13 15:25:23 1653

原创 PLSQL块结构

块是PLSQL程序的基本单位,所有的PLSQL程序都是有块组成,组成的块分为两大类:匿名块:没有名称的OLSQL块,可以内嵌到应用程序中或者能在TOAD或者是 SQL*PLUS中直接运行的块。这种块通常由客户端程序产生,用来调用服务器上的子程序,这种块不会被保存在数据库中。命名块:具有名称的PLSQL块,又细分为3个部分,这种类型的块一般保存在服务器端的数据库中。1.使用《块名称》

2017-07-12 18:32:54 1664

原创 要求:将125万数据的兑换码,分25列,一列5万数据提取出来

/*要求:将125万数据的兑换码,分25列,一列5万数据提取出来*/select /*+ parallel(cc,4) */ max(decode(rn, 1, exch_code)) col1, max(decode(rn, 2, exch_code)) col2, max(decode(rn, 3, exch_code)) col3, max(de

2017-07-12 17:37:55 716

原创 示例一个PLSQL完成功能来说明PLSQL的作用(定义变量+异常处理+抛异常)

创建的员工表中添加一个新的成员,首先需要判断要添加的员工工号是否存在,如果存在,则更新该工号对应的员工的信息,否则添加一个新的员工;SQL> select * from t where t.empno='7788'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

2017-07-11 18:27:15 821

原创 比较Oralce 数据库和 SQL Server 数据库

比较Oralce 数据库和 SQL Server 数据库与SQL Server想比较存在一个比较明显的区别:Oracle数据库系统是一个跨平台的数据库管理系统,可以运行在Windows、UNIX、Linux等操作系统上,而SQL Server只能运行在微软的操作平台。在使用SQL Server数据库时,当用户使用企业管理器连接到某一个SQL Server实例后,可以同时管理多个数据库,

2017-07-11 17:03:56 984

原创 Oracle数据库三范式

Oracle 数据库三范式:为了规范化关系型数据模型,关系型数据库系统在设计时必须遵循一定的规则,这种规则称为关系型数据库模型系统范式。范式的主要目的主要是为了降低冗余,设计合理的数据库N1:第一范式(1NF):字段必须具有单一属性特性,不可拆分如果字段中的值已经无法再进行拆分,则符合第一范式,例如,在员工表中,姓名字段只有员工的真实姓名的话,符合第一范式,但是如果还包含英

2017-07-11 15:33:10 533

原创 使用Sequences生成主键值

Sequences是用来产生primary key values.在工作中,利用序列来产生主键值,相当于insert into t1 values(s1.next,name) ,来插入一张表的时候,插入到表块和索引块,插入到表块的时候没有问题,插入到索引块的时候,由于索引是有序的,这个会话会申请独占的Latch,在CBC Latch 的保护下,去访问CBC链表,CBC链表buffer hea

2017-07-11 11:28:38 654

原创 自定义异常,两种方式

自定义异常,两种方式: N1:create table test_aa(id number,crt_dt date);-----最终能够编译成功declare v_ename varchar2(320); -- v_exp EXCEPTION;l_error varchar2(320); begininsert into test_aa (id,crt_dt )

2017-07-11 10:50:26 533

原创 Oracle体系结构

​一个会话登陆访问实例的时候,为这个会话分配一个server process 进程,并为这个进程分配一块PGA,PGA储存了与会话相关的一些数据,是私有的。oracle实例是有SGA和五大后台进程组成内存是由SGA和PGA组成Ⅰ、SGA:六大池1、shared pool 2、buffer cache 3、redo log buffer 4、large pool 5、java

2017-07-07 17:30:43 363

原创 2017-05-17

油纸伞下的情话,因为雨的节奏滴滴答答,我以为可以不被风吹和雨打,但却被水湿了黑的发,湿了我的白色裙纱,湿了手掌心的温暖话,所有的敲敲打打都变成一次次给自己的鞭挞。阳光下的温暖 抵不过风雨交加,才醒悟油纸伞是如此娇弱,等不了这个雨季的离开。

2017-07-07 10:24:05 304

原创 日期函数

1、用trunc( )函数截取日期作为月初select hiredate 雇用日期, trunc(hiredate, 'mm') 月初 from emp where rownum 雇用日期    月初----------- -----------1980/12/17  1980/12/1例子:select hiredate,       to_number(to_c

2017-07-07 10:14:35 281

原创 使用sqlerrm打印错误信息

--首先创建一张空表SQL> create table t as select * from emp where 1=2;Table created--创建一个存储过程,使用异常,打印错误信息declare    v_ename varchar2(30);begin    select ename into v_ename from t;exception   

2017-07-06 17:57:02 788

原创 查询转换方式

查询转换方式有很多种:1、视图合并(view merge )      2、子查询展开( subquery unnesting )        3、谓词推入 (predicate pushdown )    1、视图合并:就是视图的基表和外部表做连接  创建一个视图create view v1 asselect * from emp where deptno

2017-07-06 16:44:28 332

原创 使用PLSQL完成功能

请使用PLSQL完成对SCOTT的emp表中的员工,按照不同的工作岗位类型,进行涨工资的操作CLERK 涨幅500块ANALYST 涨幅1000块MANAGER 涨幅8%其他岗位涨幅5%create or replace procedure test_pc as cursor emp1_cur is select empno, job from emp1;

2017-07-02 21:20:29 415

原创 正则表达式 REGEXP_REPLACE

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

2017-06-30 15:51:25 14666

原创 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 789

原创 使用正则表达式对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 686

原创 正则表达式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 8720

原创 请使用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 830

空空如也

空空如也

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

TA关注的人

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