
数据库 Database
文章平均质量分 60
米格战斗机
我就是一棵小草
展开
-
oracle统计一段时间内每天的数据量,无数据是自动补零!
select b.DAY_TIME ,nvl(a.ct,0) from (select to_char(t.birthday,'yyyy-MM-dd') birthday,count(1) ctfrom tb_user t group by to_char(t.birthday,'yyyy-MM-dd') order by to_char(t.birthday,'yyyy-MM-dd') asc ) aright join (SELECT TO_CHAR(TO_DATE('2..原创 2020-09-27 20:54:20 · 1762 阅读 · 1 评论 -
springboot整合Druid之一:com.alibaba.druid
package com.example.mybatis.config;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support.http.WebStatFilter;impor...原创 2020-04-05 00:52:37 · 1622 阅读 · 0 评论 -
Druid 配置Oracle驱动, oracle.jdbc.OracleDatabaseException: ORA-00923: 未找到要求的 FROM 关键字
网上拷贝别人使用MySQL的代码,修改不彻底,报错如题目,折腾了好久,在这个博客获得答案在配置application.yml时,对druid的配置会有这样一个字段validationQuery。validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一条数据的SELECT语句。每种数据库都有各自的验证语句。Oracle:select 1 fr...原创 2020-04-04 15:28:10 · 2234 阅读 · 0 评论 -
Oracle SQL脚本记录
--查询各部门中工资最低的员工信息--方法一select * from emp where (empdept, empsaler) in (select empdept, min(empsaler) from emp group by empdept);--方法二select emp.* from emp inner ...原创 2020-03-07 16:19:29 · 192 阅读 · 0 评论 -
重温Oracle配置以及配置文件
原创 2020-03-05 16:37:02 · 360 阅读 · 0 评论 -
Oracle 数组使用整理
declare ct integer;type arr is varray(12) of varchar2(8);months arr := arr('201901','201902','201903','201904','201905'); begin dbms_output.put_line(months.count);--实际数量 dbms_output.put_li...原创 2020-01-23 01:28:02 · 632 阅读 · 0 评论 -
Oracle之create type与type使用整理
--create type 使用create or replace type accountinfo as object(id int, username VARCHAR2(100), money NUMBER(12,2));create or replace type accountinfo_arr as table of accountinfo;declare acc a...原创 2020-01-23 01:00:49 · 1142 阅读 · 0 评论 -
Oracle regexp_like使用
Oracle/PLSQL 中的REGEXP_LIKE条件的语法是:REGEXP_LIKE ( expression, pattern [, match_parameter ] )参数expression - 字符表达式,例如列或字段。它可以是VARCHAR2,CHAR,NVARCHAR2,NCHAR,CLOB或NCLOB数据类型。 pattern - 正则表达式匹配信息。它...转载 2019-12-28 19:51:14 · 14871 阅读 · 0 评论 -
MERGE INTO USING用法
MERGE INTO USING用法MERGE INTO [your table-name] [rename your table here] USING ( [write your query here] )[rename your query-sql and using just like a table] ON ([conditional expression here] A...原创 2019-12-11 21:41:21 · 1885 阅读 · 0 评论 -
Java数据库访问技术归纳
import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties;/** * JDBC * Java Data Base Connectivity, * java数据...原创 2019-12-11 00:34:17 · 338 阅读 · 0 评论 -
Java程序单个数据库多个操作
public void doManipulateData(){ Connection connection = getConnection();//获取当前环境的连接 try { connection.setAutoCommit(false);//设置不能自动提交 //1.执行普通的增删改查语句 doADUS(connection)...原创 2019-10-16 22:31:56 · 234 阅读 · 0 评论 -
使用Oracle Enterprise Manager波折记录
使用Oracle Enterprise Manager,可谓一波三折:拦路虎一:控制台成功启动后,我的IE11浏览器无法打开,害得我反复重装配置Enterprise Manager,最后竟然是Windows或者IE浏览器的安全机制数字证书相关问题处理过程参见(我抛弃IE,用了其他的浏览器,结果未验证):http://blog.51cto.com/cswggod/119326原创 2018-01-12 17:21:04 · 986 阅读 · 0 评论 -
Oracle不同用户的访问对方的实体对象的处理
假如Oracle中有两个用户A和B,那么如果A要访问B拥有的表,语句应该是: SELECT * FROM B.empolyees;或者采用创建同义词方法:create synonym bempolyees for B.empolyees; SELECT * FROM bempolyees;--B对A授权grant select, update, insert on原创 2018-01-12 10:04:59 · 1253 阅读 · 0 评论 -
oracle关于rownum的【整理】
关于rownum是怎么产生的(网上有不少的文章,下面是摘录):rownum是在where条件过滤之后,在任何排序(order by)或聚集(aggregation)之前赋给行的。同时,只有当rownum被分配给行后才会递增。rownum的初始值为1。rownum在查询中产生后就不再变化:select * from emp where ROWNUM 该语句的目的是想返回top 5薪水转载 2017-12-25 14:54:29 · 1429 阅读 · 0 评论 -
Oracle之sqlnet.ora、tnsnames.ora、listener.ora配置整理
在oracle安装目录$HOME/network/admin下,,经常看到sqlnet.ora tnsnames.ora listener.ora这三个文件,sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数,提供对客户端的IP检查过滤设置tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系统中的ho原创 2018-01-11 13:38:30 · 529 阅读 · 0 评论 -
oracle数据库报错:ORA-01555: 快照过旧: 回退段号 10 (名称为 "_SYSSMU10_3550978943$") 过小【整理】
错误原因:SQL语句执行时间太长,或者UNDO表空间过小,或者事务量过大,或者过于频繁的提交,导致执行SQL过程中进行一致性读时,SQL执行后修改的 前镜像(即UNDO数据)在UNDO表空间中已经被覆盖,不能构造一致性读块(CR blocks)。 这种情况最多。解决办法: 第1种情况解决的办法:(1)增加UNDO表空间大小(2)增加undo_retention转载 2018-01-02 10:06:01 · 55742 阅读 · 0 评论 -
oracle 数据误删除 数据恢复
oracle误删除数据的恢复方法https://www.cnblogs.com/hqbhonker/p/3977200.htmlOracle 表和表数据恢复https://www.cnblogs.com/java-class/p/5817217.htmloracle恢复删除的数据转载 2017-12-07 17:46:33 · 4541 阅读 · 0 评论 -
Oracle DBMS_OUTPUT包完全参考手册
地方的方法转载 2017-11-28 09:31:09 · 2183 阅读 · 0 评论 -
oracle索引的使用【整理】
oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引创建索引的标准语法:CREATE INDEX 索引名 ON 表名 (列名) TABLESPACE 表空间名; 创建唯一索引:CREATE unique INDEX 索引名 ON 表名 (列名) TABLESPACE 表空间名; 创建组合索引:CREATE INDEX 索引名原创 2017-12-04 11:14:50 · 2079 阅读 · 0 评论 -
Oracle正则表达式使用介绍
select * from organization o where o.orgname like '%海王星辰%春%';select * from organization o where regexp_like(o.orgname,'(海王星辰|春)+')就是由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达转载 2017-12-20 09:33:38 · 19939 阅读 · 2 评论 -
数据库table常用操作
0.重命名 0.1 表:rename dept to dt; rename dt to dept; 0.2 列:alter table dept rename column loc to location; alter table dept rename column location to loc; 1.添加约束 1.1 prima转载 2017-11-16 14:54:41 · 2331 阅读 · 0 评论 -
Oracle表空间、段、区和块简述【整理】
在oracle学习过程中,存储结构,表段区块可能是每个初学者都要涉及到的概念。表空间、段、分区和数据块分别表示了Oracle进行数据存储的不同层次和结构。了解清楚这几个结构,有助于我们奠定一个稳固的学习基础,而且对于理解Oracle工作原理也有重要作用。 本文采用从小到大,逐步拓展的方式介绍四个结构,并且与Schema、数据文件的区别进行对比。 数据块(Block)转载 2017-11-30 11:25:29 · 10816 阅读 · 0 评论 -
oracle 捕获select into异常
SELECT INTO 要求有一条返回数据,所以没有返回(NO_DATA_FOUND)或者返回多于一条(TOO_MANY_ROWS)都会抛出异常; select into 语句嵌入begin ... exception ... end中处理 begin select e.employeecode,e.employeename into v_code,v_n原创 2017-11-29 16:13:45 · 5247 阅读 · 0 评论 -
ORACLE TRUNC()函数整理
TRUNC():类似截取函数,按指定的格式截取输入的数据。1.【trunc(for dates)】TRUNC()函数处理日期 语法格式:TRUNC(date[,fmt]) 其中:date 一个日期值;fmt 日期格式。 该日期将按指定的日期格式截取;忽略它则由最近的日期截取。 示例: select trunc(sysdate) from dua转载 2017-09-21 17:28:05 · 265 阅读 · 0 评论 -
oracle 索引的整理
CREATE [UNIQUE]| [BITMAP]INDEX index_name --unique表示唯一索引ON table_name([column1 [ASC|DESC],column2 --bitmap,创建位图索引[ASC|DESC],…]| [express])[TABLESPACE tablespace_name][PCTFRE原创 2017-08-03 17:40:58 · 586 阅读 · 0 评论 -
ORA-28001: the password has expired (DBD ERROR: OCISessionBegin)解决办法
1、问题描述:打开oracle在线管理页面发现这个错误:界面如下2问题原因造成这个问题的主要原因是因为DBSNMP 、SYSMAN用户密码已经过期。3解决办法可以使用sys以管理员的身份登录数据库,然后执行select username,account_status from dba_users;语句查询用户状态,可以发现有如下两句:转载 2018-01-05 09:58:32 · 1684 阅读 · 0 评论 -
Oracle行列转换
参考一下链接:Oracle行列转换https://www.cnblogs.com/liunanjava/p/4961923.htmloracle中的行列转换https://www.cnblogs.com/xuzhong86/p/6208319.html转载 2018-01-17 21:49:08 · 406 阅读 · 0 评论 -
mysql之临时表【整理】
创建临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字:CREATE TEMPORARY TABLE tmp_table (name VARCHAR(10) NOT NULL,value INTEGER NOT NULL)create temporary table tmp_table ( name varchar(10) not null, va转载 2016-01-17 11:59:30 · 658 阅读 · 0 评论 -
Oracle的row_number() over函数使用整理
函数语法: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)函数作用:从1开始,为按组排序的每条记录添加一个序列号 函数只能用于select和order by子句中 不能用在where子句不分组排序不进行分组时语法为ROW_NUMBER() OVER(ORDER BY COLUMN)分组排序分组的话ROW_NUMBER()...原创 2019-08-27 14:40:18 · 4462 阅读 · 0 评论 -
ORA-01762: vopdrv: FROM 中没有视图查询块处理
执行代码:with as 写法错误如下:ORA-01762 – vopdrv: view query block not in FROM报错原因:由于with 中定义的查询,在后面没有用到,所以报错了,因为在写语句时,是一段一段写的,每写一段,就运行一段,一开始并没有报错(只运行了最后一段),但是越写越多时就报错了,在oracle 11g r2的环境,感觉是个bug。解决方法:在最后的...原创 2019-05-31 11:23:50 · 6866 阅读 · 0 评论 -
oracle之nvl、nvl2、decode函数整理
1. nvl(eExpression1, eExpression2)若eExpression1 is null,则return(eExpression2),否则return(eExpression1);nvl(表达式, 表达式为空设值)select nvl(a.address, '不详') as address from student a ;2. nvl2(eExpressi...原创 2018-08-03 16:01:29 · 435 阅读 · 0 评论 -
oracle execute immediate及using使用归纳整理
Oracle中EXECUTE IMMEDIATE的使用技巧https://blog.youkuaiyun.com/caolaosanahnu/article/details/8432885EXECUTE IMMEDIATE及Using (精辟啊)https://blog.youkuaiyun.com/tanshi/article/details/7083922EXECUTE IMMEDIATE用法小结(SQL脚本拼接)h...原创 2018-07-12 14:24:43 · 7831 阅读 · 0 评论 -
Oracle中动态SQL拼接
1. 直接用单引号,单引号的使用是就近配对,即就近原则。从第二个单引号开始被视为转义符v_sql := ' insert into BJTONGRENTANGTEMPTB select distinct h.sellerid,h.sellercode,h.sellername,h.prodcode,h.prodname from historyofsales_day h '||' wh...原创 2018-07-12 14:15:57 · 21850 阅读 · 2 评论 -
oracle SQL运算符整理
算数运算符运算符含义+加-减*乘/除**乘方逻辑运算符运算符含义AND两者同时为真,结果才为真OR有一个为真,结果就为真NOT取反比较运算符运算符含义IS NULL如果测试值为NULL,则返回值为true,否则为falseLIKE比较字符串,结合 % 进行模糊查询BETWEEN测试值是否在指定的范围内IN测试值是否在一系列的值中关系运算符运算符含义=等于!= <> ~=不等于<...原创 2018-06-22 17:22:50 · 1966 阅读 · 0 评论 -
Oracle 字段为null比较的雷区
oracle中在可为null的字段上做逻辑关系运算要格外小心,如 <>,>,=,<,任何与null的运算结果都返回false,因此对于可能为null的字段运算判断要用 is null 来判断,或者使用函数nvl、decode处理后在判断,比如:where 字段名 is null 或者where nvl(字段名,0) = 0; -- 假设字段类型是数字...原创 2018-08-14 23:01:28 · 12681 阅读 · 0 评论 -
mysql不支持PreparedStatement.setArray()的解决方案
查询中有in条件的时候mysql数据库不支持通过PreparedStatement.setArray()传递数组的方式设置参数,如: PreparedStatement pstmt = conn.prepareStatement(“select * from table1 where id in (?)”); Array array = conn.createArrayOf(“VARCHAR”...转载 2018-05-11 10:49:16 · 3947 阅读 · 0 评论 -
Oracle SQL中特殊字符&的处理
1. 查询出’&’字符的ascii值 select ascii('&') from dual; --382. 将ascii值代替&,放入字符串中(注意使用连接符) insert into testtable values ('abc'||chr(38)||'def'); select 'abc'||chr(38)||'def' from dual;...原创 2018-03-02 11:05:30 · 7898 阅读 · 0 评论 -
sql语句中字段的别名中含有括号时的解决办法
当sql语句中字段的别名中含有括号时,则需要用双引号将其引起来,则会减少错误。(1)当别名中含有括号时:Select sysdate as 系统日期(包含时分秒) from dual;则会出现以下错误:(2)将别名用引号引起来后:Select sysdate as “系统日期(包含时分秒)” from dual;(3)用单引号会引发另外的错误:(4)转载 2018-01-10 11:19:33 · 7569 阅读 · 0 评论 -
oracle查询重复数据方法
SQL重复记录查询1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peop...转载 2018-06-14 14:51:20 · 34201 阅读 · 2 评论 -
数据库相关整理
1.Database Link相关作用:将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象简易语法:CREATE [PUBLIC] DATABASE LINK dblink CONNECT TO user IDENTIFIED BY password USING ‘connect_string’;DROP [PUBLIC] DATA原创 2017-08-03 16:03:38 · 178 阅读 · 0 评论