
oracle
文章平均质量分 70
贤云(xianyun)
爱学,不经历地狱般的磨练,怎么享受天堂的幸福,没有流过血的手指,怎么弹出世间绝唱
展开
-
oracle批量更新
子查询返回多条,应该在外边的查询加where限制update a set a.s_station = (select b.n_name from b where b.n_name = a.s_station) where a.s_station in (select b.n_name from b) update aset a.s_station='S' || b.n_num ||...原创 2011-06-27 21:17:06 · 209 阅读 · 0 评论 -
oracle decode()函数用法总结
·含义解释: decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IF· 使用方法: ...2011-08-04 10:06:16 · 193 阅读 · 0 评论 -
Oracle语句优化30个规则详解
select tab_name from tables where(tab_name,db_ver) =(select tab_name,db_ver) from tab_columns where version=604) 1. 选用适合的Oracle优化器 Oracle的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) ...2011-08-04 11:07:11 · 122 阅读 · 0 评论 -
oracle case when 用法总结
Oracle dbms_job package 用法小结 ORACLE CASE WHEN 及 SELECT CASE WHEN的用法 Case具有两种格式。简单Case函数和Case搜索函数。 --简单case函数 case sex when '1' then '男' when '2' then '女' else '其他' end ...原创 2011-08-04 14:27:27 · 480 阅读 · 0 评论 -
oracle 正则表达式用法
l 方括号表达示 方括号表达式 描述 [[:alnum:]] 字母和数字混合的字符 [[:alpha:]] 字母字符 [[:cntrl:]] 控制字符 [[:digit:]] 数字字符 [[:graph:]] 图像字符 [[:l...原创 2011-08-05 09:30:45 · 127 阅读 · 0 评论 -
oracle批处理开启或者关闭服务
机子上装着Oracle,但并不是很常要用到,所以把原先自启动的服务设成手动,这样便不会每天开机很慢,也不会占用系统资源。 我写了两个bat文件(批处理)。 启动Oracle.bat 1 2 3 4 5 @echo off net start OracleOraHome92TNSListener net start OracleService...原创 2013-12-16 22:53:55 · 136 阅读 · 0 评论 -
[Navicat] 连接Oracle报错_Cannot load OCI DLL 87
Navicat可以用来连接各种主流数据库,真是个不错的DB工具。 如果你第一次用Navicat尝试连接oracle数据库,很可能报下面的错: Cannot load OCI DLL 87: Instant Client package is required for Basic and TNS connection. 原因: Oracle需要装client才能让第三方工具通过OCI(O...原创 2018-02-11 15:43:20 · 245 阅读 · 0 评论 -
mysql和oracle数据互相迁移
工作中,项目原本是mysql数据库 后台需要换成oracle数据库 因此需要进行数据迁移 迁移工具navicat-数据传输2018-02-11 15:53:38 · 388 阅读 · 0 评论 -
spring集中druid进行数据库监控
Druid内置提供了一个StatViewServlet用于展示Druid的统计信息。 这个StatViewServlet的用途包括: 提供监控信息展示的html页面 提供监控信息的JSON API 注意:使用StatViewServlet,建议使用druid 0.2.6以上版本。 1. 配置web.xml StatViewServlet是一个标准的javax.servlet....原创 2018-02-11 17:52:23 · 611 阅读 · 0 评论 -
oracle聚合函数汇总
今天在做项目,讲mysql项目转换为oracle项目的时候,发现某些sql语句不兼容 mysql语句如下 SELECT COLUMN1, group_concat(SHOUYILV ORDER BY CRETE_DATE) AS SHOUYILV FROM RCONFIGDATA WHERE column2 = '1' GROUP BY COLUMN1 ORDER...原创 2018-02-24 13:02:54 · 3888 阅读 · 0 评论 -
Mybatis结合Oracle的foreach insert批量插入
最近在做将mysql数据库项目迁移到oracle数据库项目中,发现某些sql存在不兼容的情况,比如批量插入在mysql中写法如下,mybatis配置文件 xxxMapper.xml文件: <insert id="batchInsert" parameterType="List"> INSERT INTO USER_ANSWER ( USER_ANSWER_...原创 2018-02-24 14:17:09 · 433 阅读 · 0 评论 -
数据库分页大全(oracle利用解析函数row_number高效分页)
最近在转换mysql项目到oracle项目,遇到mysql分页limit无法使用的情况 ,最后只能采用oracel的分页形式,一个个语句的整改过来 Mysql分页采用limt关键字 select * from t_order limit 5,10; #返回第6-15行数据 第一个参数是指要开始的地方,第二个参数是指每页显示多少条数据;注意:第一页用0表示。select * fr...原创 2018-02-24 17:26:57 · 152 阅读 · 0 评论 -
ibatis结合Oracle的iterate insert批量插入
ibatis批量插入oracle数据库 <insert id="batchInsert" parameterClass="java.util.List"> INSERT INTO SYS_ROLE_MENU( ROLE_ID, MENU_ID ) SELECT A.* FROM ( <iterate conjunction ="union...原创 2018-02-27 13:50:09 · 770 阅读 · 0 评论 -
Oracle JDBC driver Maven配置
问题: maven项目,spring中添加数据源,调用出错: org.springframework.jdbc.CannotGetJdbcConnectionException Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver" 分析: 虽然在maven中添加ojdbc dependency,仍显示...原创 2018-03-05 13:41:39 · 1279 阅读 · 0 评论 -
mybatis 需要注意的点 MyBatis 插入空值时,需要指定JdbcType (201
Oracle数据库mybatis 插入空值时报错(with JdbcType OTHER)的两种解决方案 在使用Mybatis 3时,发现了这个问题,当插入数据时,如果有一个字段为空值时,系统会报异常,导致插入数据失败。 异常信息类似: org.springframework.jdbc.UncategorizedSQLException:Error setting null for pa...原创 2018-03-07 10:19:12 · 1063 阅读 · 0 评论 -
Oracle中的Union,Union All,Intersect,Minus
众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考。 假设我们有一个表Student,包括以下字段与数据: drop table student; create table student ( id int primary key, name nvarchar2(50) not null, score number not null ); ...原创 2011-08-04 09:09:51 · 128 阅读 · 0 评论 -
oracle partition by与group by 的区别
SELECT b, c, d,SUM(d) OVER(PARTITION BY b,c ORDER BY d) e FROM a 今天看到一个老兄的问题, 大概如下: 查询出部门的最低工资的userid 号 表结构: D号 工资 部门 userid salary dept 1 ...原创 2011-08-03 10:49:57 · 625 阅读 · 0 评论 -
oracle动态创建自动增长的序列
1.动态创建自动增长的序列: declarev_sql varchar2(1000);v_num number(20):=1;beginv_sql:='create sequence sqbs ';select max(sqb.id)+1 into v_num from sqb;if v_num is null then v_num :=1;v_sql:=v_sql||' maxvalue 9...原创 2011-07-04 16:35:41 · 564 阅读 · 0 评论 -
oracle 左外连接,右外连接,全外连接
对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。 1. LEFT OUTER JOIN:左外关联 SELECT e.last_name, e.department_id, d.department_name FROM employees e LEFT OUTER ...原创 2011-08-01 15:14:39 · 186 阅读 · 0 评论 -
查找、删除重复记录
查找、删除重复记录: 法一: 用Group by语句 此查找很快的 select count(num), max(name) from student --查找表中num列重复的,列出重复的记录数,并列出他的name属性 group by num having count(num) >1 --按num分组后找出表中num列重复,即出现次数大于一次 ...原创 2011-08-01 15:25:28 · 142 阅读 · 0 评论 -
在数据库触发器中使用列的新值与旧值
---- 在数据库触发器中几乎总是要使用触发器基表的列值,如果某条语句需要某列修改前的值,使用:OLD就可以了,使用某列修改后的新值,用:NEW就可以了。如:OLD.DEPT_NO,:NEW.DEPT_NO。...原创 2011-08-01 15:36:13 · 659 阅读 · 1 评论 -
Oracle数据库存储过程
1、Oracle存储过程实例 CREATE OR REPLACE PROCEDURE proc_page ( p_tblName IN VARCHAR, p_fields IN VARCHAR, p_order IN VARCHAR, p_pageSize IN INT := 10, p_pageIndex IN ...原创 2011-08-01 15:41:33 · 135 阅读 · 0 评论 -
oracel 分析函数over()函数
示例1:剔除重复记录 表temp_b的记录: 执行如下SQL语句: select * from ( select city_name, city_code, prov_id, row_number() over(partition by city_name order by 1) r from temp_a ) where r = 1; 剔除表temp_...原创 2011-08-02 10:22:41 · 177 阅读 · 0 评论 -
Oracle聚合函数/分析函数 .
排列(rank())函数。这些排列函数提供了定义一个集合(使用 PARTITION 子句),然后根据某种排序方式对这个集合内的元素进行排列的能力,下面以scott用户的emp表为例来说明rank over partition如何使用 1)查询员工薪水并连续求和 select deptno,ename,sal, sum(sal)over(order by ename) sum1, ...原创 2011-08-02 10:57:45 · 146 阅读 · 0 评论 -
oracle over()函数
准备工作: table:oracle用户scott下的emp表 ; 一. Oracle 从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组只返回一行。 exp: Sql代码 1.select t.empno,t.ename,sum(t.sal) from emp t ...原创 2011-08-02 11:16:22 · 110 阅读 · 0 评论 -
oracle 分析函数
分析函数是oracle816引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的sql语句就可以实现了,而且在执行效率方面也有相当大的提高. 下面主要介绍一下以下几个函数的使用方法 1. Over() 开窗函数 2. Nvl()函数3. Rollup,C...原创 2011-08-02 14:55:52 · 116 阅读 · 0 评论 -
Oracle 表连接方式(内连接/外连接/自连接) 详解 .
Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 3. 自连接(同一张表内的连接) SQL的标准语法:select table1.column,table2.columnfrom table1 [inner | ...原创 2011-08-02 15:18:48 · 298 阅读 · 0 评论 -
Oracle Sequence Cache 序列
一. 理论知识 先看一个创建Sequence的语句: SQL> create sequence seq_tmp 2 increment by 1 3 start with 1 4 nomaxvalue 5 nocycle 6 ; 序列已创建。 相关参数说明: INCREMENT BY 1 -- 每次加几个 S...原创 2011-08-02 15:29:12 · 167 阅读 · 0 评论 -
Oracle 小知识 总结(一) .
1. 每天的8:00到23:00每隔5分钟执行一个sql语句的JOB --建立一个存储过程 CREATE OR REPLACE PROCEDURE p_jobtest IS v_hh VARCHAR2(2); BEGIN v_hh := to_char(SYSDATE, 'hh24'); IF v_hh >= '08' AND v_hh <= '22' ...2011-08-02 15:42:07 · 162 阅读 · 0 评论 -
oracle merge的用法
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。 通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询, 连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。 这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。 语法 MERGE [INTO [schema .] table [...原创 2011-08-02 17:53:51 · 116 阅读 · 0 评论 -
oracle executeimmediate用法小解
EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTE IMMEDIATE,因为它获的收益在包之上。 ...原创 2011-08-03 09:16:48 · 169 阅读 · 0 评论 -
Oracle批量操作
racle批量插入: Xml代码 <insert id="insertBatch" parameterType="java.util.List"> insert into table_name(id, name,updateTime) <foreach collection="list" item="item" inde...原创 2018-04-24 15:52:26 · 594 阅读 · 0 评论