因数据类型不规范导致查询结果异常的案例分享

管理员2年前 (2018-06-27)223
某报表开发人员,说遇到了一个比较诡异的问题,对两张表做关联查询时,部分数据行有重复的情况发生,但是,先把一张表的数据查询出来,再去到第二张表中查询,数据就是正确的,接到这个问题后,第一反应,应该是数据变化过快,两次查询的基础数据不一样,遂与该同事进行沟通,得到的回复是,这是一个报表系统,并且新做的报...

使用IMPDP+NETWORK_LINK实现两个数据库用户复制

管理员2年前 (2018-05-28)284
Oracle 从10g 开始提供数据泵(EXPDP/IMPDP)操作数据的导入导出功能,并且不再对原来的 EXP/IMP工具进行维护和新的功能开发,EXPDP/IMPDP工具的导入导出的效率比EXP/IMP要高好多倍,并且可以规避后者的诸多问题,比如常见的LONG字段的导出失败、interval 分...

Oracle 降低高水位的方法

管理员2年前 (2018-05-21)175
在很多系统运行多年以后,会把历史业务数据归档的需求,常见于把大量历史数据拆分到另一张新表中,并在原表中删除,实际上,业务数据被迁移到新表之后,原来的表所占的空间并不会主动释放,这时就需要人为的干预,这里提供3种方法,各有利弊。移动表用move 操作表实际上执行的 ctas 操作。alter tabl...

记录一个自定义聚合函数的方法

管理员2年前 (2018-05-20)162
CREATE TYPE tab_varchar2 AS TABLE OF VARCHAR2(4000);CREATE OR REPLACE FUNCTION concat_array(p tab_varchar2) RETURN CLOB IS l_result CLOB;BEGIN FOR cc...

MySQL8 的新特性介绍及示例代码

管理员2年前 (2018-05-20)416
我们知道,在5.7及以前的版本中,auto_increment 列是自增列,第一次取值1,再往后每次新增一条记录,这个值加1,这也是我们常规的一个认识。实际上,假设有这样一个场景,当我们向表中写了 100 条记,然后删除了最后的10 记录,也就是说表中最大的自增列是90,此时我们重启了服务,再向这张...

在MySQL 5.x 中实现 row_number 函数的部分功能

管理员2年前 (2018-05-14)515
问题引入:在 ORACLE 9i+ 或 MSSQL2005+ 中,提供了功能强大的分析函数,而用于生成序号的有如下三个 row_number,rank,dense_rank ,这样的函数令MySQL的开发者羡慕不已,这里我们提供一个方法,用来实现row_number 函数的部分功能,另外两个将会在以...

SQL Server 触发器使用try catch

管理员3年前 (2017-12-29)235
-- 触发器使用try catchcreate table test(id int identity, name varchar(10))gocreate table test_bak(id int, name varchar(10))gocreate trigger tri_test_inson...

Oracle 使用 RMAN 实现异机恢复

管理员3年前 (2017-10-10)102
run{ configure retention policy to recovery window of 7 days;configure controlfile autobackup on;configure controlfile autobackup format for devi...

listagg 和 wm_concat 两个函数在使用上的一些区别

管理员3年前 (2017-09-24)409
两个函数,都可以实现字符串的聚合。从支持的版本上来讲,listagg从11gR2开始/提供,之前的版本都没有,11gR1 也没有,而wm_concat则从 9i 就开始有了,但是官方没有公布这个函数,只是有同行从数据字典中查到了,大家才有机会用到它。在9i版本中,要用这个函数,要加wm_sys方案名...

MySQL 在 Windows 系统上使用 ZIP包 的安装配置

管理员3年前 (2017-06-01)127
1. 官方文档官方文档主页https://dev.mysql.com/doc/refman/5.7/en/新特性介绍页https://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html安装文档https://dev.mysql.com/doc/re...