随笔分类 -  oracle

摘要:使用NavicatPremium12连接oracle11g数据库时报ORA-28547错误 这是因为Navicat自带的oci.dll并不支持oracle11g,需要去官网下载支持的版本。 先用你的IDEA或者别人的连接到oracle数据库(为了查询版本)1、查询版本SQL:select * fro 阅读全文
posted @ 2023-03-23 22:53 程序员小明1024 阅读(93) 评论(0) 推荐(0) 编辑
摘要:背景 查询字段其实比较多,我选择聚焦在瓶颈点上,让我们开始吧 功能背景简介: 我们在一个进入数据中心的入口设置了一台记录人员进出的机器,由保卫员操作记录人员进出(通过换取通关卡的方式,在换取通关卡时,记录进入时间,在归还通关卡时,记录离开时间),业务方需要知道某段时间内在数据中心内的人数、次数 、具 阅读全文
posted @ 2022-12-20 23:42 程序员小明1024 阅读(724) 评论(0) 推荐(0) 编辑
摘要:开发经常遇到分页查询的需求,但是当翻页过多的时候,就会产生深分页,导致查询效率急剧下降。 有没有什么办法,能解决深分页的问题呢? 本文总结了三种优化方案,查询效率直接提升10倍,一起学习一下。 1. 准备数据 先创建一张用户表,只在create_time字段上加索引: CREATE TABLE `u 阅读全文
posted @ 2022-07-07 22:37 程序员小明1024 阅读(98) 评论(0) 推荐(0) 编辑
摘要:之前给小伙伴们介绍了三种去重的方法,虽然不能留言,但是看到大家的点赞和在看数都比较多,今天再给大家分享一下三种累加的方法。 有如下表ADD_NUM 我们希望实现如下结果: 开窗函数学过开窗函数的小伙伴肯定首先想到的就是它了,不错,开窗函数可以很快速的求解出来,具体写法如下: SELECT Order 阅读全文
posted @ 2022-06-25 14:53 程序员小明1024 阅读(6118) 评论(0) 推荐(1) 编辑
摘要:查看oracle中表的索引 oracle中表的索引信息存在 user_indexes 和 user_ind_columns 两张表里面, user_indexes 系统视图存放是索引的名称以及该索引是否是唯一索引等信息, user_ind_columns 统视图存放的是索引名称,对应的表和列等 sq 阅读全文
posted @ 2021-06-20 01:07 程序员小明1024 阅读(1864) 评论(0) 推荐(0) 编辑
摘要:--10号部门的员工工资提升10%显示,20号提升20%,30号部门提升30%,其余部门不提升,工资重命名为--update_salarySELECT EMPLOYEE_ID, DEPARTMENT_ID, CASE DEPARTMENT_ID WHEN 10 THEN 1.1 * SALARY W 阅读全文
posted @ 2019-02-26 22:16 程序员小明1024 阅读(303) 评论(0) 推荐(0) 编辑
摘要:SELECTPRESERVE03,replace(concat( '-',PRESERVE03),'-1-', '-') as r,concat( '-',PRESERVE03) as c,length(replace(concat( '-',PRESERVE03),'-1-', '-')) as 阅读全文
posted @ 2018-12-18 15:44 程序员小明1024 阅读(360) 评论(0) 推荐(0) 编辑
摘要:SELECT last_name, job_id, salary, DECODE(job_id, 'IT_PROG', 1.10*salary, 'ST_CLERK', 1.15*salary, 'SA_REP', 1.20*salary, salary) REVISED_SALARYFROM em 阅读全文
posted @ 2018-12-18 14:47 程序员小明1024 阅读(341) 评论(0) 推荐(0) 编辑
摘要:1.类型: “Where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面不能使用“聚合函数”; “Having”是一个过滤声明,所谓过滤是在查询数据库的结果返回之后进行过滤,即在结果返回之后起作用,并且having后面可以使用“聚合函 阅读全文
posted @ 2018-12-18 13:15 程序员小明1024 阅读(287) 评论(0) 推荐(0) 编辑
摘要:count(1),其实就是计算一共有多少符合条件的行.1并不是表示第一个字段,而是表示一个固定值.其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1..同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的 阅读全文
posted @ 2018-12-18 11:39 程序员小明1024 阅读(2322) 评论(0) 推荐(0) 编辑
摘要:--5. 显示出表employees中的全部job_id(不能重复)SELECT DISTINCT JOB_ID FROM EMPLOYEES;--6. 显示出表employees的全部列,各个列之间用逗号连接,列头显示成OUT_PUTSELECT EMPLOYEES.EMPLOYEE_ID || 阅读全文
posted @ 2018-12-18 11:20 程序员小明1024 阅读(1513) 评论(0) 推荐(0) 编辑
摘要:SELECT V.NUM_ID, V.XM FROM t_MID_RS_PARTY V WHERE V.ZGH IN ( '060002', '100178', '120283' ) SELECT V.ZGH FROM t_MID_RS_PARTY V GROUP BY V.ZGH HAVING C 阅读全文
posted @ 2018-12-13 11:46 程序员小明1024 阅读(1709) 评论(0) 推荐(0) 编辑
摘要:1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库. 备注 阅读全文
posted @ 2018-12-13 11:32 程序员小明1024 阅读(233) 评论(0) 推荐(0) 编辑
摘要:我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下, 阅读全文
posted @ 2018-12-13 11:22 程序员小明1024 阅读(212) 评论(0) 推荐(0) 编辑
摘要:在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为:alter session set events 'immediate trace name flush_cache level 1';或者:alter session set events = ' 阅读全文
posted @ 2018-12-13 09:54 程序员小明1024 阅读(8404) 评论(0) 推荐(0) 编辑
摘要:<!-- 子节点完成 修改父节点表中信息 --> <update id="updateOrganizationZzkc" parameterType="map"> UPDATE T_CADRE_ORGANIZATION_ZZKC <set> UPDATE_BY = #{UPDATE_BY} ,UPD 阅读全文
posted @ 2018-12-11 18:04 程序员小明1024 阅读(2212) 评论(0) 推荐(0) 编辑
摘要:TRUNC ( MONTHS_BETWEEN (SYSDATE, rp.CSRQ) / 12 ) AS AGE, 阅读全文
posted @ 2018-12-11 17:39 程序员小明1024 阅读(3219) 评论(0) 推荐(0) 编辑
摘要:工作中经常遇到很多需求是这样的,根据条件汇总某些字段,比如公司有三个投资平台,同一个客户拿手机号在三个平台都注册了,但注册过的用户名不一样,显示的时候需要根据手机号显示所有注册过的名称。(我用的是oracle数据库) 1、原始数据是这样的,如图: 2、要求显示成这样,如图: 3、具体实现: sele 阅读全文
posted @ 2018-12-11 14:23 程序员小明1024 阅读(9035) 评论(0) 推荐(0) 编辑
摘要:SELECT ( SELECT PARTY_VALUE FROM T_TRANSFORM_DICT ttd5 WHERE HRS_TYPE = 'view_zdxzzw' AND HRS_VALUE = ZYJSZW.ZYJSZWJBM ) AS POST_RANK, ( SELECT PARTY_ 阅读全文
posted @ 2018-12-11 14:06 程序员小明1024 阅读(1021) 评论(0) 推荐(0) 编辑
摘要:1)substr函数格式 (俗称:字符截取函数) 格式1: substr(string string, int a, int b); 格式2:substr(string string, int a) ; 解释: 格式1: 1、string 需要截取的字符串 2、a 截取字符串的开始位置(注:当a等于 阅读全文
posted @ 2018-12-11 13:58 程序员小明1024 阅读(19387) 评论(0) 推荐(2) 编辑