查看了这些对象主要表现在之前写法不严格的SQL语法导致了这些package无法成功编译,诸如select查询列中不能使用混淆的列名称等。...另外一个比较表现突出的是返回ORA-00932: inconsistent datatypes: expected - got CLOB错误,即不一致的数据类型,获得CLOB数据类型。...、分析与解决 --记得当前服务器下数据库并没有使用任何CLOB数据类型,却返回CLOB类型了,我懵!...package在新环境中无法成功编译 原因:lob字段不能用做group by,而union中需要使用group by过滤重复记录,所以无法编译成功 解决方案: a、为这个select 查询列使用了...,MYSQL --使用union时出现ORA-00932错误 SQL> select id,wm_concat(val) new_val from t8 group by id 2 union
UNION去重且排序 UNION ALL不去重不排序 UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1、UNION...的语法如下: [SQL 语句 1] UNION [SQL 语句 2] 2、UNION ALL 的语法如下: [SQL 语句 1]...UNION ALL [SQL 语句 2] 效率: UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。...1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。...2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。
UNION去重且排序 UNION ALL不去重不排序 UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1、UNION 的语法如下...: [SQL 语句 1] UNION [SQL 语句 2] 2、UNION ALL 的语法如下: [SQL 语句 1] UNION...ALL [SQL 语句 2] 效率: UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。...1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。...2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。
UNION去重且排序 UNION ALL不去重不排序 UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1、UNION...的语法如下: [SQL 语句 1] UNION [SQL 语句 2] 2、UNION ALL 的语法如下: [SQL 语句 1] UNION ALL... [SQL 语句 2] 效率: UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。...1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。...2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。
UNION去重且排序 UNION ALL不去重不排序 UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1、UNION 的语法如下...: [SQL 语句 1] UNION [SQL 语句 2] 2、UNION ALL 的语法如下: [SQL 语句 1] UNION ALL ...[SQL 语句 2] 效率: UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。...1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。...2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。
因为分区表监控的脚本不想频繁访问dba_tab_subpartitions视图,需要创建临时表T1,偶然间发现oracle 10g的一个bug,在metalink上也没能找到该问题的解决方案。...clob可以解决这个报错。...4.HIGH_VALUE列明明是clob类型,但是转换却不成功,trace10053看看insert语句内部是怎么执行的: SQL> alter session set events '10053...在11g上执行相同的语句,并记录trace: SQL> alter session set events '10053 trace name context forever, level 1';...LINKNAME" IS NULL 在11g中是可以执行成功的,看来oracle在11g对这个bug做了修改!
oracle 两个时间相减 出现的错误 sql和代码都写好之后,测试报错: ==ORA-00932: 数据类型不一致== 然后检查数据库字段类型,检查参数类型,都是Date类型。...java.sql.Date TIME java.sql.Time TIMESTAMP java.sql.Timestamp CLOB...Clob BLOB Blob ARRAY Array DISTINCT mapping...MyBatis JdbcType 介绍 记自己在mybatis中设置jdbcType的一个坑 Mybatis中的jdbcType的作用 简单来说就是:当执行mapper文件的时候,参数映射为空,...下面的sql在Navicat Premiun12是可以成功运行的: ==select * from Table where A =1== 但是该语句如果放在mapper当中的话必须加上引号: =
背景: 业务发展需要,需要复用历史的表,并且通过表里面原来一个未使用的字段来区分不同的业务。...于是想到通过default来修改列的默认值: alter table A modify column biz default 'old' comment '业务标识 old-老业务, new-新业务'...看起来mysql和oracle在default的语义上处理不一样,对于oracle,会将历史为null的值刷成default指定的值。...总结 1. mysql和oracle在default的语义上存在区别,如果想修改历史数据的值,建议给一个新的update语句(不管是oracle还是mysql,减少ddl执行的时间) 2....即使指定了default的值,如果insert的时候强制指定字段的值为null,入库还是会为null
问题现象客户预期常量列"0.00"应该映射到 java 里的浮点类型,结果却是跑到整型。...1、应用的 sql2、应用的 java 代码3、执行结果问题的风险及影响客户查询信息失败问题影响的版本23.2.4.25问题发生原因oracle 与 yashanDB 的 jdbc 返回常量列"0.00..."的精度和刻度不一致。...如果常量列是整型或浮点型 oracle 的 jdbc 返回都是 number 类型,且是未定义的。...经验总结oracle 数值类型只有 number 类型,float 和 integer 都只是 number 类型的子类。
这是其中一道,考的就是SQL语法,基础中的基础,但乍一看,或许不是所有人能直接给出正确答案,不信你试试? ?...group分组,会按照列id的值进行分组操作,包括空值,因此这个操作,是正确的选项, SQL> select id from t1 group by id; ID ---------- 1...Oracle的SQL风格支持的旧语法,在Oracle以外的数据库,很可能就报错了, SQL> select unique id from t1; ID ---------- 1 2...,如果表中无clob类型的字段,用distinct *和unique *都可以的, http://sqlfiddle.com/#!...但是表中若存在clob类型的字段,此时用distinct *和unique *,就会报错, http://sqlfiddle.com/#!4/97d3e/26 ?
其实,WMSYS用户下的WM_CONCAT函数有很重要的用途,比如行转列,但是该函数不稳定。例如,在Oracle 10g上返回的是字符串类型,但是在Oracle 11gR2上返回的是CLOB类型。...解决办法有两种,一种是采用Oracle本身的脚本来创建WM_CONCAT函数,一种是采用自己创建的函数来解决这个问题。...1、用Oracle自带脚本重建WMSYS用户的WMSYS.WM_CONCAT函数 运行如下脚本卸载WMSYS用户的数据: @$ORACLE_HOME/rdbms/admin/owmuinst.plb...这是一个Oracle的列转行函数,使用示例如下所示: WITH TEMP AS( SELECT 'China' NATION ,'Guangzhou' CITY FROM DUAL UNION ALL...& 说明: 有关字符串中是否含义汉字和多字节字符的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2124931/ 本文选自《Oracle
其实,WMSYS用户下的WM_CONCAT函数有很重要的用途,比如行转列,但是该函数不稳定。例如,在Oracle 10g上返回的是字符串类型,但是在Oracle 11gR2上返回的是CLOB类型。...解决办法有两种,一种是采用Oracle本身的脚本来创建WM_CONCAT函数,一种是采用自己创建的函数来解决这个问题。...1、用Oracle自带脚本重建WMSYS用户的WMSYS.WM_CONCAT函数 运行如下脚本卸载WMSYS用户的数据: @$ORACLE_HOME/rdbms/admin/owmuinst.plb...CLOB,在PL/SQL中要使用TO_CHAR进行转换: SYS@lhrdb21> SELECT D.USER_ID FROM DBA_USERS D WHERE D.USER_ID IN (0, 5)...这是一个Oracle的列转行函数,使用示例如下所示: WITH TEMP AS( SELECT 'China' NATION ,'Guangzhou' CITY FROM DUAL UNION ALL
在 Oracle 中,有两种可用的选项,即使用 IDENTITY 列(仅限 Oracle 12 及以上版本)或将 SEQUENCE 与列关联。...这与大多数文档示例不一致,后者假定使用支持自动递增的数据库。...,假设 Oracle 12c 或以上版本,并假设 SELECT 语句不嵌套在 UNION 这样的复合语句中。...在 Oracle 中,有两个可用选项,即使用 IDENTITY 列(仅限 Oracle 12 及以上版本)或将序列与列相关联。...,假设是 Oracle 12c 或更高版本,并且假设 SELECT 语句没有嵌入在像 UNION 这样的复合语句中。
在其他某些功能上YashanDB会与Oracle数据库的表现有所差异或者暂时没有进行兼容,这可能是因为:YashanDB与Oracle数据库的底层架构、产品形态等并不相同。...SQL语法YashanDB支持Oracle数据库中主流的SQL语法,其他少数因功能性缺失导致的不兼容将报语法不支持错误,此时应联系我们的技术支持提供变通方案。...UPDATE支持单列和多列的更新支持使用子查询DELETE支持单表和多表的删除支持使用子查询(2)DDL类YashanDB兼容Oracle数据库大部分的对象及对象管理操作,包括:HEAP表:CREATE...YashanDB的XMLTYPE数据类型底层以CLOB进行存储,与Oracle存储方式不同,在函数调用时可能存在差异。...引擎兼容了Oracle数据库大部分的特性,包括:支持查询改写支持预编译语句支持基于成本的优化器支持执行计划生成与展示(EXPLAIN)支持执行计划缓存支持执行计划快速参数化支持执行计划绑定支持Optimizer
CLOB ); -- 插入blob文件 CREATE OR REPLACE DIRECTORY D1 AS '/home/oracle/'; grant all on DIRECTORY...最终,在Oracle端共包括16张表,2个视图,其中2个表TSRSLOB和IMAGE_LOB包括了blob和clob字段。...生成MySQL端DDL语句 可以使用Navicat的数据传输功能或其它工具直接从Oracle端生成MySQL类型的建表语句如下: mysql -uroot -plhr -h 172.72.7.35 -D...配置Oracle到MySQL的实时同步 Oracle端 -- Oracle端 ADD EXTRACT exto INTEGRATED TRANLOG BEGIN NOW ADD EXTTRAIL ....开始就不再需要配置defgen表结构文件了 3、若全量同步失败,则需要truncate掉MySQL的数据,从头开始同步 4、初始化全量同步的时候,Oracle的clob和blob会全部同步,但是在实时同步时
实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。 · UNION ALL只是简单的将两个结果合并后就返回。...Oracle自己开发了一个数据类型varchar2,这个类型不是一个标准的varchar,他将在数据库中varchar列可以存储空字符串的特性改为存储null值,如果你想有向后兼容的能力,oracle建议使用...19:commit在哪里会运用 - Oracle的commit就是DML语句提交数据(这里是释放锁不是锁表),在未提交前你前面的操作更新的都是内存,没有更新到物理文件中。...、binary_double、float · 日期类型: date、 timestamp · LOB类型: blob、clob、nclob、bfile 23:truncate与 delete区别 -...TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。
oracle + hibernate 环境,如果表中有 clob字段,hibernate的Entity类,如果Column注解打在私有成员上,则clob私有成员,首字母一定要按字母顺序排在最后,安全的做法是用..."zz"开头 原因是 hibernate 在生成insert语句时,会按私有成员来排序,生成类似 insert tableX (A,B,C...) values(?...的sql语句,而在最后提交阶段,insert语句中,clob后面的字段,除了SEQUENCE id外,不允许再有其它非clob型的字段,比如,A是clob字段,而B不是,则执行时会报错: ORA-24816...: 在实际的 LONG 或 LOB 列之后提供了扩展的非 LONG 绑定数据
执行的过程:确定一个驱动表(outer table),另一个表为 inner table,驱动表中的每一行与 inner 表中的相应记录 JOIN,类似一个嵌套的循环。...D、分区索引所在的基表需要为分区表 E、分区索引主要有本地分区索引和全局分区索引 解析:BCE 1、索引是否分区与表是否分区无关。2、可以创建本地分区的唯一索引,但需要将分区键列加入做为索引列。...3、Oracle不支持创建非前缀全局分区索引 4、与索引所在分区表的分区方法相同的,是本地分区索引,反之,是全局分区索引。 14.以下哪些描述适用于位图索引?...A、使用GROUP BY和UNION语法的SQL语句,如分组和合并的数据量较大超过PGA排序区容量时,可能会使用到临时表空间。...Oracle数据库中断开会话即可释放临时段,11G以上版本还提供了临时段收缩命令 ALTER TABLESPACE TEMP SHRINK SPACE UNION语句实际执行计划中带有SORT UNION
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。...Oracle自己开发了一个数据类型varchar2,这个类型不是一个标准的varchar,他将在数据库中varchar列可以存储空字符串的特性改为存储null值,如果你想有向后兼容的能力,oracle建议使用...sql的语法的不同。 18、Oracle语句有多少类型 Oracle语句分三类:DDL、DML、DCL。...、binary_double、float 4)日期类型 date、 timestamp 5)LOB类型 blob、clob、nclob、bfile 28、truncate与 delete区别 TRUNCATE...TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。
题目部分 在Oracle中,当DML语句中有一条数据报错时,如何让该DML语句继续执行? 答案部分 当一个DML语句运行的时候,如果遇到了错误,那么这条语句会进行回滚,就好像没有执行过。...$,以及表中对应的列。...④ 错误日志表的列不支持的数据类型包括:LONG、LONG RAW、BLOG、CLOB、NCLOB、BFILE以及各种对象类型。...,导致创建错误记录表的过程报错,错误提示就是T1表中包含了不支持的列。...可以看到,删除错误记录语句所不支持的列后,LOG ERRORS语句反而可以顺利执行,而且无论DML语句是否包括哪些不支持列的数据。