- 博客(18)
- 收藏
- 关注
原创 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 3881
原创 业务需求:将mysql库表数据放到oracle数据库
公司前端的数据库是mysql数据库,现在需要将mysql库表数据放到oracle数据库。1、进行全量抽取使用两个组件就能够完成这个功能。表输入组件配置如下:表输出组件配置如下:
2017-07-19 10:10:16 371
原创 报表需求:周一提取周五到周日的数据,其他时刻提取当天数据
现在的需求是,出一张日报,每天发送的是前一天的数据。如果是周末的话,不出数据,等在周一提取上周五到这周日的数据。实现以上功能。现在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 1004
原创 PLSQL嵌套块
外部块里嵌套三个匿名块:匿名块1:查询部门名称匿名块2:更改部门地址匿名块3:处理异常,插入新的部门总结:外部匿名块包含三个内部匿名块,(1)第一个嵌套块如果找不到数据会直接调到异常no_data_found里(2)第二个嵌套块只有当第一个匿名块得到执行以后才能够执行(3)第三个嵌套块,这个块首先插入数据,如果插入数据的时候发生错误,会触发嵌套块里的异常块。 declare
2017-07-13 15:25:23 1682
原创 PLSQL块结构
块是PLSQL程序的基本单位,所有的PLSQL程序都是有块组成,组成的块分为两大类:匿名块:没有名称的OLSQL块,可以内嵌到应用程序中或者能在TOAD或者是 SQL*PLUS中直接运行的块。这种块通常由客户端程序产生,用来调用服务器上的子程序,这种块不会被保存在数据库中。命名块:具有名称的PLSQL块,又细分为3个部分,这种类型的块一般保存在服务器端的数据库中。1.使用《块名称》
2017-07-12 18:32:54 1689
原创 要求:将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 731
原创 示例一个PLSQL完成功能来说明PLSQL的作用(定义变量+异常处理+抛异常)
创建的员工表中添加一个新的成员,首先需要判断要添加的员工工号是否存在,如果存在,则更新该工号对应的员工的信息,否则添加一个新的员工;SQL> select * from t where t.empno='7788'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
2017-07-11 18:27:15 842
原创 比较Oralce 数据库和 SQL Server 数据库
比较Oralce 数据库和 SQL Server 数据库与SQL Server想比较存在一个比较明显的区别:Oracle数据库系统是一个跨平台的数据库管理系统,可以运行在Windows、UNIX、Linux等操作系统上,而SQL Server只能运行在微软的操作平台。在使用SQL Server数据库时,当用户使用企业管理器连接到某一个SQL Server实例后,可以同时管理多个数据库,
2017-07-11 17:03:56 1012
原创 Oracle数据库三范式
Oracle 数据库三范式:为了规范化关系型数据模型,关系型数据库系统在设计时必须遵循一定的规则,这种规则称为关系型数据库模型系统范式。范式的主要目的主要是为了降低冗余,设计合理的数据库N1:第一范式(1NF):字段必须具有单一属性特性,不可拆分如果字段中的值已经无法再进行拆分,则符合第一范式,例如,在员工表中,姓名字段只有员工的真实姓名的话,符合第一范式,但是如果还包含英
2017-07-11 15:33:10 555
原创 使用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 680
原创 自定义异常,两种方式
自定义异常,两种方式: 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 555
原创 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 380
原创 2017-05-17
油纸伞下的情话,因为雨的节奏滴滴答答,我以为可以不被风吹和雨打,但却被水湿了黑的发,湿了我的白色裙纱,湿了手掌心的温暖话,所有的敲敲打打都变成一次次给自己的鞭挞。阳光下的温暖 抵不过风雨交加,才醒悟油纸伞是如此娇弱,等不了这个雨季的离开。
2017-07-07 10:24:05 325
原创 日期函数
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 302
原创 使用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 808
原创 查询转换方式
查询转换方式有很多种:1、视图合并(view merge ) 2、子查询展开( subquery unnesting ) 3、谓词推入 (predicate pushdown ) 1、视图合并:就是视图的基表和外部表做连接 创建一个视图create view v1 asselect * from emp where deptno
2017-07-06 16:44:28 353
原创 使用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 449
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人