Oracle
文章平均质量分 79
最是那一低头的温柔
这个作者很懒,什么都没留下…
展开
-
[Oracle]Lead和Lag偏移量函数使用详解
数据库学习网站 https://www.itkc8.comOracle有两个函数:LEAD和LAG,这两个函数都是用来计算偏移量的分析函数,这两个函数的用法相同。Oracle官方文档解释是:LEAD is an analytic function. It provides access to more than one row of a table at the same time...转载 2018-04-04 15:24:06 · 1934 阅读 · 0 评论 -
索引
数据库技术学习 https://www.itkc8.comtablespace 表空间可以省略B树索引反向键索引函数索引位图索引删除索引 B树索引示例一、创建一张表并使用PL/SQL的数据生成器导入10万条记录--创建储户表create table depositor ( actid INTEGER ...转载 2015-01-27 18:04:02 · 667 阅读 · 0 评论 -
分组统计查询
数据库技术学习 https://www.itkc8.com查询出公司每个月支出的工资总和--查询出公司每个月支出的工资总和SELECT SUM(sal) FROM emp;查询出公司的最高工资,最低工资和平均工资--查询出公司的最高工资,最低工资和平均工资SELECT MAX(sal),MIN(sal),ROUND(AVG(sal),2) FROM emp;统计出...转载 2015-01-27 18:01:18 · 1823 阅读 · 0 评论 -
oracle的instr
数据库技术学习 https://www.itkc8.comoracle instr函数对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如: SQL> select instr('oracle','or') position from dual;POSITION---------- 1 从字符串'oracle'的第一个位置...转载 2015-01-27 17:45:15 · 535 阅读 · 0 评论 -
oracle的内建函数
数据库技术学习 https://www.itkc8.com数字函数Sql代码 --输入和输出都是数字 --abs(x) 取绝对值 select abs(-1) from dual;--1 --ceil(x) 返回大于等于n的最小整数 select ceil(1.4),ceil(-2.5) from dual;--2,-2 --floor(x) 返回小于等于n的最大整数 ...转载 2015-01-27 17:44:41 · 575 阅读 · 0 评论 -
oracle instr函数
数据库技术学习 https://www.itkc8.comoracle instr函数对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如: SQL> select instr('oracle','or') position from dual;POSITION---------- 1 从字符串'oracle'的第一个位置...转载 2015-01-27 17:40:20 · 978 阅读 · 0 评论 -
触发器七
数据库技术学习 https://www.itkc8.com复合触发器复合触发器是在Oracle 11g之后引入进来的一种新结构的触发器,复合触发器既是表级触发器又是行级触发器。在之前针对于不同级别的触发器,如果要在一张数据表上完成表级触发(BEFORE和AFTER)与行级触发(BEFORE和AFTER)则需要编写四个触发器才可以完成,而有了复合触发器之后,只需要一个触发器就可以定义完全部的...转载 2015-01-27 18:10:06 · 578 阅读 · 0 评论 -
触发器二(DML触发器)
DML触发器(语句触发器)由DML语句进行触发,当用户执行了INSERT,UPDATE,DELETE操作时就会触发操作示例一、只有在每个月的10日才允许办理,新员工入职与离职,其他时间不允许增加和删除员工数据--建立表CREATE TABLE myemp AS SELECT * FROM emp;--创建触发器create or replace trig转载 2015-01-27 18:26:52 · 645 阅读 · 0 评论 -
Oracle分析函数
数据库技术学习 https://www.itkc8.comOracle分析函数本文讲述Oracle分析函数用法,首先建库:Sql代码 create table earnings -- 打工赚钱表 ( earnmonth varchar2(6), -- 打工月份 area varchar2(20), -- 打工地区 sno varchar2(10...转载 2014-10-16 21:27:50 · 476 阅读 · 0 评论 -
使用connect by进行级联查询(oracle函数)
使用connect by进行级联查询数据库技术学习 https://www.itkc8.com connect by可以用于级联查询,常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点。 来看一个示例,现假设我们拥有一个菜单表t_menu,其中只有三个字段:id、name和parent_id。它们是具有父子关系的,最顶级的菜单对应的pare...转载 2014-10-16 21:28:19 · 1056 阅读 · 0 评论 -
面试篇之对数据库事务隔离级别的理解
数据库技术学习 https://www.itkc8.com所谓数据库隔离级别,就是为了解决两个或多个事务之间操作同一个数据库对象是出现的冲突问题。对数据的操作无非是读写,事务隔离级别也主要是在事务的读写之间进行隔离。首先列一下4种隔离级别:1.read uncommited(可读未提交的)2.read commited(提交了才能读)3.repeatable read(可重复读)4....转载 2014-10-16 21:08:05 · 2387 阅读 · 0 评论 -
恢复oracle中用drop误删除掉的表
数据库技术学习 https://www.itkc8.com查看回收站中表select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;恢复表SQL>flashback table test_drop to before drop;或SQL>fl...转载 2014-10-16 20:56:43 · 539 阅读 · 0 评论 -
Oracle实用功能之分组后列合并(树结构)
数据库技术学习 https://www.itkc8.com1 实例解析由于业务需求需要对表中的数据进行分组后进行合并的处理,鉴于Oracle10g没有现成的函数实现该功能,且该功能如若用JAVA代码实现会比较复杂,因此,特将SQL语言的实现方式分享出来,希望对大家有所帮助。如下:表test 数据如下:ID,SUBJECTCODE,DIMCODE,VALUE1 , 1...转载 2014-10-16 21:16:33 · 3916 阅读 · 0 评论 -
数据字典和动态视图
数据库技术学习 https://www.itkc8.com数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含 数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触...转载 2014-10-15 23:22:32 · 2095 阅读 · 0 评论 -
Oracle数据库中的查看命令
用数据字典select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,systemselect * from all_users; 查看你能管理的所有用户!select * from user_users; 查看当前用户信息 !转载 2014-08-27 10:12:08 · 652 阅读 · 0 评论 -
ORACLE用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER解决方法和修改sys密码
情况一:使用sqlplus登录as SYS should be as SYSDBA OR SYSOPER解决方法" style="margin:0px; padding:0px; border:0px; list-style:none; color:rgb(50,62,50); font-family:simsun; font-size:14px; line-height:21px; back转载 2014-08-27 10:06:40 · 1813 阅读 · 0 评论 -
oracle数据库导入导出命令!
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过Net Configuration Assistant添加正确的服务命名,其转载 2014-08-27 09:50:26 · 426 阅读 · 0 评论 -
从服务器将ORACLE数据库导出和导入本地oracle数据库中的方法
数据库技术学习 https://www.itkc8.com从服务器将ORACLE数据库导出和导入本地oracle数据库中的方法一:将服务器上的ORACLE数据库导入到本地机子上;具体方法:在CMD模式下执行以下命令exp username/password@服务器端数据库ID file=c:/文件名.dmp例如下面:exp djyy/djyy@zhwx file=c:/djy...转载 2014-08-27 09:47:09 · 951 阅读 · 0 评论 -
表分区
数据库技术学习 https://www.itkc8.com表分区:应用场景:如数据量比较大的表,比如2G的表,可以分20块来查询肯定比不分块查询速度快区间分区:常常用于日期字段的分区less than 是不包括这()里的值小于的意思示例一、创建区间分区--创建表CREATE TABLE drawlist( draw_dt DAT...转载 2015-01-27 18:05:27 · 611 阅读 · 0 评论 -
序列
数据库技术学习 https://www.itkc8.com许多的数据库之中都会为用户提供一种自动增长列的操作序列(Sequence)可以自动的按照即定的规则实现数据的编号操作序列的完整创建语法CREATE SEQUENCE 序列名称 [ INCREMENT BY 步长 ] [ START WITH 开始值 ] [ MAXVALU...转载 2015-01-27 18:09:02 · 622 阅读 · 0 评论 -
Oracle-分析函数之取上下行数据lag()和lead()
https://www.2cto.com/database/201611/562166.html数据库技术 https://www.itkc8.com概述ORACLE函数系列:Oracle常见函数大全Oracle-分析函数之连续求和sum(…) over(…)Oracle-分析函数之排序值rank()和dense_rank()Oracle-分析函数之排序后顺序号row_...转载 2018-04-04 12:42:56 · 541 阅读 · 0 评论 -
Oracle_查询当天记录 三种方法效率比较
oracle 查询当天记录 三种方法效率比较数据库技术学习 https://www.itkc8.comvia: http://my.oschina.net/baishi/blog/293742 -- 查询一表中当天生成的数据-- 原表mobilefrends中的cdate字段上有索引,创建索引语句是:create index mobilefrends_cdate_idx on ...转载 2018-04-03 17:46:57 · 1327 阅读 · 0 评论 -
SQL查询~ 存在一个表而不在另一个表中的数据
数据库技术学习 https://www.itkc8.comA、B两表,找出ID字段中,存在A表,但是不存在B表的数据。A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引。方法一 使用 not in ,容易理解,效率低 ~执行时间为:1.395秒~1 select distinct A.ID from A where A.ID not in (s...转载 2017-06-19 18:49:10 · 8567 阅读 · 0 评论 -
Oracle数据库中对null值的排序及mull与空字符串的区别
数据库技术学习 https://www.itkc8.comorder by排序之null值处理方法在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题。在Oracle中规定,在Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则排在最前。所以,为何分析数据的直观性方便性,我们需要对null的记录...转载 2016-06-16 20:08:57 · 810 阅读 · 0 评论 -
Oracle开发之分析函数(Top/Bottom N、First/Last、NTile)
数据库技术学习 https://www.itkc8.com一、带空值的排列:在前面《Oracle开发之分析函数(Rank、Dense_rank、row_number)》一文中,我们已经知道了如何为一批记录进行全排列、分组排列。假如被排列的数据中含有空值呢? 代码如下:SQL> select region_id, customer_id, sum(custo...转载 2016-06-15 09:17:23 · 821 阅读 · 0 评论 -
Oracle开发之分析函数(Rank, Dense_rank, row_number)
数据库技术学习 https://www.itkc8.com一、使用rownum为记录排名:在前面一篇《Oracle开发之分析函数简介Over》,我们认识了分析函数的基本应用,现在我们再来考虑下面几个问题:①对所有客户按订单总额进行排名②按区域和客户订单总额进行排名③找出订单总额排名前13位的客户④找出订单总额最高、最低的客户⑤找出订单总额排名前25%的客户按照前面第一篇文章...转载 2016-06-15 09:11:18 · 438 阅读 · 0 评论 -
ratio_to_report分析函数求占比
数据库技术学习 https://www.itkc8.comdrop table test; create table test ( name varchar(20), kemu varchar(20), score number ); insert into test values('testa','yuwen',10); insert into test values('te...转载 2016-06-15 08:59:42 · 550 阅读 · 0 评论 -
ORACLE分页查询SQL语法——最高效的分页
数据库技术学习 https://www.itkc8.com--1:无ORDER BY排序的写法。(效率最高)--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!)SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM emp t WHERE hire_...转载 2016-06-27 12:09:49 · 2721 阅读 · 0 评论 -
oracle 分组后取每组第一条数据
数据库技术学习 https://www.itkc8.com ‘数据格式分组取第一条的效果sql数据库技术学习 https://www.itkc8.com SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, ...转载 2016-05-23 18:31:05 · 3588 阅读 · 0 评论 -
CUBE 和 ROLLUP 之间的具体区别
数据库技术学习 https://www.itkc8.comROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。下面是 CUBE 和 ROLLUP 之间的具体区别:CUBE 生成的结果集显示了所选列中值的所有组合的聚合。 ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。ROLLUP 优点: (1)ROLLUP 返回单个结果集,而 COMPUT...转载 2016-05-31 19:16:44 · 710 阅读 · 0 评论 -
Oracle一列中有数字和文字比较大小
比如说 id(varchar) 1 15 2050无 我要取id<20的WHERE CASE WHEN REGEXP_LIKE(id,'(^[+-]?\d{0,}\.?\d{0,}$)') THEN to_number(id) ELSE NULL END <...原创 2015-05-21 11:37:01 · 1916 阅读 · 0 评论 -
触发器三(行级DML触发器)
数据库技术学习 https://www.itkc8.com行级DML触发器每当一条记录出现更新操作时进行触发操作定义时要定义FOR EACH ROW使用":old.字段"和":new.字段"标识符No. 触发语句 :old字段 :new字段 1 INSERT 未定义,字段内容为NULL INSERT操作结束后,为增加数据值 2 UP...转载 2015-01-27 18:30:13 · 884 阅读 · 0 评论 -
触发器一(触发器简介)
数据库技术学习 https://www.itkc8.com语法:CREATE [ OR REPLACE ] TRIGGER trigger_name:创建一个触发器,设置名称,如果选择了OR REPLACE,则表示如果已经有这个触发器就替换[BEFOR | AFTER]:指的是触发器的触发日间,在操作之间就BEFORC,在操作之后就AFTER触发INSTEAD OF:替代触发器...转载 2015-01-27 18:24:18 · 804 阅读 · 0 评论 -
子查询
数据库技术学习 https://www.itkc8.com子查询一(WHERE中的子查询)子查询子查询就是指的在一个完整的查询语句之中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式,为了让读者更加清楚子查询的概念。子查询返回结果子查询可以返回的数据类型一共分为四种: 单行单列:返回的是一个具体列的内容,可以理解为一个单值数据; 单行多列:返回一行数据中...转载 2015-01-27 17:58:27 · 877 阅读 · 0 评论 -
触发器五(建立INSTEAD OF触发器)
数据库技术学习 https://www.itkc8.comINSTEAD OF触发器对于简单视图,可以直接执行INSERT,UPDATE和DELETE操作但是对于复杂视图,不允许直接执行INSERT,UPDATE和DELETE操作。为了在具有以上情况的复杂视图上执行DML操作需要征用触发器来完成--创建复杂视图CREATE OR REPLACE VIEW v_emp20...转载 2015-01-27 18:35:09 · 1508 阅读 · 0 评论 -
postgres函数
数据库技术学习 https://www.itkc8.com1.数据修复最先考虑通过db内做修复,实在不行,在考虑外部应用程序通过jdbc修复.比如一个场景:profile_image_url与enlarge_image_url都是微博用户信息返回的字段. 前者是http://tp2.sinaimg.cn/1928431341/50/5621497131/1,后者正常情况是http: //t...转载 2015-01-27 18:07:26 · 697 阅读 · 0 评论 -
触发器四(学习笔记)
数据库技术学习 https://www.itkc8.comREFERENCING子句:使用“:new.字段”或者是“:old.字段”标记不清,那么也可以通过REFERENCING子句为这两个标识符设置别名,例如可以将“:new”设置为:emp_new,或者将“:old”设置为:emp_old。create or replace trigger myempaddsal_trigge...转载 2015-01-27 18:30:55 · 629 阅读 · 0 评论 -
高效SQL语句必杀技
数据库技术学习 https://www.itkc8.comNo SQL,No cost. SQL语句是造成数据库开销最大的部分。而不良SQL写法直接导致数据库系统性能下降的情形比比皆是。那么如何才能称得上高效的SQL语句呢?一是查询优化器为当前的SQL语句生成最佳的执行计划,保证数据读写使用最佳路径;二是设置合理的物理存储结构,如表的类型,字段的顺序,字段的数据类型等。本文主要描述如何编写...转载 2014-07-26 23:08:31 · 457 阅读 · 0 评论 -
oracle 3个实用统计sql场景
数据库技术学习 https://www.itkc8.com我们使用oracle做一些统计的时候,时常碰到如下场景:1.竖列转横列2.分组并合并某列作为结果集3.分组排序取首条记录 我们使用一个简化的业务场景,来展示这三个场景如何使用sql来解决。业务场景:一张表记录着员工的出勤记录业务需求:(对应上面的三个场景)1.统计员工某年的每月出勤记录数2.查询每个人...转载 2014-07-27 03:40:43 · 2066 阅读 · 0 评论 -
Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数
数据库技术学习 https://www.itkc8.comoracle的分析函数over 及开窗函数一:分析函数overOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组只返回一行。 ...转载 2014-07-25 21:38:39 · 606 阅读 · 0 评论