
Oracle
zhangxiaojun34901
java程序开发
展开
-
数据库脚本生成POJO字段
文章目录PLSQ设置Templates脚本PLSQ打开Templates窗口创建脚本文件使用PLSQ设置Templates脚本PLSQ打开Templates窗口TOOLS-->Template List创建脚本文件右击【Custom】--【New Template】--输入名称--【OK】--获取javaBean字段SELECT 'private String ' || SUBSTR(REPLACE(INITCAP('a' || LOWER(T1.COLU原创 2020-11-28 13:27:51 · 196 阅读 · 0 评论 -
Oracle数据库报表统计利器
文章目录数据报表统计神器case..when..rollup函数with..as..函数数据报表统计原来做报表的时候,经常头痛这个数据汇总,因为数据库是以行存储的,而我们经常统计的时候需要二个维度的统计,最后还要加一个合计,没有思路的时候很痛苦。神器case…when…oracle中的case…when…和decode都可以产生条件转换的效果,可以将数据按照一定条件去转换成0和1,这样在配合sum函数,可以将行数据汇总成列数据。rollup函数这个和group分组函数有点相同,是对结果集进行分组原创 2020-06-16 14:48:16 · 408 阅读 · 0 评论 -
sql性能优化(一)
一、影响执行效率的因数1、超大数据量2、中文检索3、数据库的系统配置二、查看执行效率方法通过简单分析执行计划1、找到消耗资源最多的点2、减少全表扫table_access3、走索引三、sql执行的步骤/*顺序为有1-6,6个大步骤,然后细分,5-1,5-2,5-3,由小变大顺序,1-J,1-A,1-P,1-U,为并行次序*/--查询组合字段(5)select (5-2...翻译 2020-02-22 17:49:32 · 237 阅读 · 0 评论 -
关于大数据量或者存储过程或者业务逻辑过于复杂的解决方案
1.大数据量的清洗存储过程和定时任务对大数据量的清洗,过程过于复杂涉及到的中间变量过多,计算和统计过多,导致整个过程执行时间过长。所以通过数据准备,通过一个中间表来抽取过程中的中间变量和逻辑变量,预先抽取一些数据,减轻整个数据清洗过程的压力。这些存储过程一定考虑到执行的效率问题,索引的使用;尽量避免在where条件里使用函数,有一些条件能抽取到中间表中,尽量抽取出来。1.1)数据准备1....原创 2020-02-15 21:28:40 · 1665 阅读 · 0 评论 -
oracle中锁表 for update 、for update nowait
场景业务操作需要在数据库尝试先锁表,然后事务内更新。概述1)、加锁查询:查询时并锁定记录,锁定记录后其他线程不可以更新记录,只能自己失误内更新,但是其他线程可以查询功能。2)、不加锁查询:查询时没有不锁定记录。3)、目的:select …for update 的功能目的是为了本事务内锁表,避免出现脏数据。定义如果在select语句后加入了for update, 则Oracle一旦发现...翻译 2020-01-12 09:02:48 · 2922 阅读 · 0 评论 -
ORACLE的几个系统级函数
oracle中的几个系统级函数1.随机数dbms_random.value(value1,value2)SELECT to_char(dbms_random.value(1,3000000),'FM9999990.00') FROM dual;SELECT to_char(dbms_random.value(1,300000),'FM9999999') FROM dual;SELECT...原创 2019-12-02 17:59:09 · 181 阅读 · 0 评论 -
Oracle中null和''
SELECT M.app_count FROM approve M WHERE M.id = '1068502287' AND M.APP_STAT = '04';--一条记录都没有SELECT sum(M.app_count) FROM approve M WHERE M.id = '1068502287' AND M.APP_STAT = '04';--有一条记录但是为空SELECT su...原创 2019-12-02 17:47:57 · 1319 阅读 · 0 评论 -
关于Oracle使用总结
1 null和任何比较都是false,并且null作为条件关联是falseselect a into b from table_name; --必须只存在一条记录--必须能够查到值,如果查不到记录则报错,nodatafount2 plsq中的模板,相当于创建sql模板,tools–>templatelist3 更新排他锁定FOR UPDATE NOWAIT4 最近一条记录...原创 2019-11-14 19:19:30 · 470 阅读 · 0 评论 -
工作一年应该知道的oracle关键字
1.over()2.rownum()3.connect by 4.proir5.group by6.start with7.level8.rownum9.select10.from11.where12.join13.inner join14.left join (+)15.right join (+)16.with as17.is null18.is not nu...原创 2019-08-07 09:24:12 · 256 阅读 · 0 评论 -
Oracle的聚合函数总结
SELECTSUM((SELECT SUM(F.字段名)FROM 表名1 FWHERE F.P_OPER_ID = IO.OPER_IDAND F.OPER_TYPE_CODE = ‘06’))FROM 表名2 IOSELECTSUM((SELECT F.字段名FROM 表名1 FWHERE F.P_OPER_ID = IO.OPER_IDAND F.OPER_TYPE_COD...原创 2019-07-16 19:10:47 · 243 阅读 · 0 评论 -
Oracle中关于用户,权限,同义词
1.Oracle中表名是可以重复的,只要在不用的用户下 /* 使用这句话的前提是,该用户下有相应的权限 如果该用户下有相同的表就会出现混淆,到底查询的是哪个表? 所以查询时是需要带上用户名 */ select * from userName.tableName;--替代方案:建同义词create public synonym table_nam...原创 2019-07-15 19:29:36 · 1500 阅读 · 0 评论 -
Mysql中的三种循环
1,while…do…end while/* while循环语法:while 条件 DO 循环体;end while;*/-- 实例:create procedure sum1(a int) begin declare sum int default 0; -- default 是指定该变量的默认值 declare i int defau...转载 2019-01-04 13:53:28 · 29424 阅读 · 0 评论 -
mysql动态游标
一、游标的使用DROP PROCEDURE IF EXISTS myCURSOR;CREATE PROCEDURE myCURSOR ()BEGINDECLARE user_name VARCHAR(32);/* 声明游标 */DECLARE my_cursor CURSOR FOR select nickname from users;/* 打开游标 */OPEN my_...原创 2019-01-04 13:49:05 · 3921 阅读 · 0 评论 -
powerdesigner导出sql脚本
一,是切换数据库,生成哪个数据库版本下的sql文件二,是保存的目录和文件三,选择需要导出的用户和表原创 2019-01-04 13:44:09 · 617 阅读 · 0 评论 -
Oracle中Sql注意汇总(1)
一,外链接定义:左外连接:左表不加限制,保留左表的数据,匹配右表,右表没有匹配到的行中的列显示为null。右外连接:右表不加限制,保留右表的数据。匹配左表,左表没有匹配到的行中列显示为null。完全外连接:左右表都不加限制。即右外连接的结果为:左右表匹配的数据+左表没有匹配到的数据+右表没有匹配到的数据。语法:left/right/full outer join …onleft...原创 2018-12-10 10:21:10 · 148 阅读 · 0 评论 -
Mysql与Oracle的区别(1)
第一章 MySql与Oracle的函数区别一,to_date和to_charOracleMysql字符串–>日期to_date()str_to_date()日期–>字符串to_char()date_format()格式yyyy-mm-dd hh:mi:ss%Y-%m-%d %h:%i:%sMysql中 H大写是指:24小时制;...原创 2018-12-10 10:17:57 · 350 阅读 · 0 评论