最新更新2011-9-28号。
最近的项目中遇到了一个棘手的问题,由于许多业务都是放在定时中执行,有一个需求是统计商户或者门店创建的活动效果,在近期的3.5版本做了很大调整,因此在新的统计方式需要兼容历史活动,所以得把所有的活动遍历统计一次。考虑到
上线当天晚上定时会跑得很慢,所以上级决定目前只将2011年5月1号之后创建的活动和5月1号前创建并且上线时仍有更新的活动。5月1号之前的活动等上线后,在一个新库中将数据跑出来,然后导入到线上库。如果线上库已经存在的数据,就不能导入。因为以线上环境的数据为准。今天将2011年1月1号到5月1号之间的活动数据在新库上跑出来了,线上已经存在的数据,是5月1号前创建并且在8月18号上线新版本后仍有更新的活动,这一部分数据不能覆盖,以线上的为准。
先建立链接,连接到线上的数据库服务器,具体操作如图所示,别名ntow,然后输入用户名,密码
在完成这个任务时,做了数据验证。
将一个数据库上的analysis_invest_profit_store表中的数据导入
--到线上数据库的analysis_invest_profit_store表中。要求:线上已经存在
--的数据不可覆盖。 表analysis_invest_profit_store主键
--是marketingid,coupontypeid和storeid组合的主键
-- analysis_invest_profit_store@ntow t 表示线上库
--1)第一步,找出线上与本地数据库相同的数据 执行结果为49条
select s.*
from analysis_invest_profit_store s,
analysis_invest_profit_store@ntow t
where s.marketingid = t.marketingid
and s.coupontypeid = t.coupontypeid
and s.storeid = t.storeid;
--2)找出线上库不存在的数据
-- 此语句执行结果是451条
--本地新库中analysis_invest_profit_store表中一共有500条,验证数据不缺少
select s.*
from analysis_invest_profit_store s
where not exists (select *
from analysis_invest_profit_store@ntow t
where s.marketingid = t.marketingid
and s.coupontypeid = t.coupontypeid
and s.storeid = t.storeid);
验证数据条数是正确的,没有多余也没有缺少,所以就做下一步动作,将线上库不存在的数据导入到线上的数据库。
--3)将线上库不存在的数据导入到线上表
insert into analysis_invest_profit_store@ntow t
select s.*
from analysis_invest_profit_store s
where not exists (select *
from analysis_invest_profit_store@ntow t
where s.marketingid = t.marketingid
and s.coupontypeid = t.coupontypeid
and s.storeid = t.storeid);
整理一下Oracle在项目中常用的基本语句,算是一个小小的总结概要。
1、获得当前时间
select sysdate from dual
2、获得char类型的时间
select to_char(sysdate,'yyyy-MM-dd') as mydate from dual
3、获得精确到秒的时间
select to_char(sysdate,'yyyy-MM-dd HH24:MI:SS') as mydate from dual
4、Oracle中用sql语句更改字段类型。
alter table trans_buycoupon_record rename column buy_num to buy_num1;
alter table trans_buycoupon_record add buy_num number;
update trans_buycoupon_record set buy_num=cast(buy_num1 as number);
alter table trans_buycoupon_record drop column buy_num1;
----------------------------------------------------------------------------------------------------------------------------------
(4月21日补充)
5、A表与B表有关联,A和B都是col这个字段,但是A表中维护有记录B表中则没有,现在要将B表中的col字段的值更新为与A表中的col值一样update prepay_send_record ps set end_date =(select m.end_date from member_prepay_account m where m.merchant_id=ps.merchant_id and ps.customer_id=m.customer_id ) 这里要注意的是要找到将要修改的表与数据来源的表的关系。
4月12号,先总结到这里,以后持续更新中。
8月15号更新:
向Oracle表中加新索引:
CREATE INDEX IND_CARBNOW_FRAMEID ON sms_send_record(marketing_id,biz_type);
语法是:
create INDEX 索引名 on 表名(字段名1,字段名2);
同一个用户复制的话可以用
create table 新表 as select * from 旧表 数据一起复制
create table 新表 as select * from 旧表 where 1=2 空表
不同用户复制的话可以用
create table B.新表 as select * from A.旧表
copy from a/a to b/b create table aaa using select * from aaa;
6、将一张表的数据,插入到另一张表(Oracle中将数字类型以字符串形式拼接)
insert into yd_person(person_id,person_name,mobile,store_id)
select CONCAT('25010100006',t.mobile), t.name ,t.mobile ,'250101000060001' from yd_person_1209 t
分享到:
相关推荐
- 当前MySQL数据库的备份文件为`.sql`文件,每个表一个文件,需要将这些文件的数据导入到Oracle数据库中。 #### 二、MySQL数据恢复 为了确保数据的完整性和准确性,首先需要将MySQL的备份文件恢复到一个测试数据库...
- 解释:该命令将 daochu.dmp 文件中 table1 表的数据导入到 TEST 数据库中。 **3. 导入时忽略错误** - 命令示例:`imp aichannel/aichannel@HUST full=y file=d:\data\newsmgnt.dmp ignore=y` - 解释:此命令...
本文将详细介绍如何将Excel数据导入到Oracle数据库的具体步骤。 #### 二、准备工作 1. **安装PL/SQL Developer**:首先需要安装PL/SQL Developer工具,这是一个功能强大的Oracle数据库开发工具,支持数据导入导出...
Oracle 的 IMPDP 和 EXPDP 是两个强大的数据泵工具,用于将 Oracle 数据库中的数据导入或导出到其他数据库或文件中。在本文档中,我们将详细介绍如何使用 IMPDP 和 EXPDP 工具来实现全备数据库的导入和导出。 一、...
首先,我们来探讨Oracle数据导入到MySQL的原理。数据迁移通常涉及数据抽取、转换和加载(ETL)过程。在本例中,"oracle2mysql"工具可能通过以下步骤工作: 1. **数据抽取**:工具连接到Oracle数据库,通过SQL查询...
本文主要探讨的是如何将Oracle数据库中的数据导入到本系统的方法,这对于数据迁移、备份恢复、系统整合等场景至关重要。 首先,Oracle提供多种数据导入工具,其中最常用的是`SQL*Loader`和`Data Pump`(包括`expdp`...
expdp导出数据到目录对象,而impdp则将这些导出的数据导入到数据库中。 - **SQL INSERT语句**:对于小规模的数据导入,可以使用SQL插入语句一行一行地导入数据。但这种方式效率较低,不适合大量数据。 2. 创建用户...
总的来说,通过JAVA和JDBC进行Oracle到Sybase的数据导入是一个涉及多方面技能的任务,包括数据库操作、JAVA编程、数据转换和性能优化等。熟练掌握这些技能,将有助于顺利完成这种复杂的数据迁移项目。
在Oracle数据库管理中,自动导入数据是一项常见的任务,特别是在处理大量结构化数据时,例如...通过合理利用Oracle提供的工具和技术,可以有效地将Excel等外部数据源的数据导入到Oracle数据库中,提升数据管理的效率。
在数据仓库项目中,异构数据的导入是一个关键步骤,涉及到不同格式和来源的数据整合到Oracle数据库中。这里我们将详细探讨几种常见的数据导入方法。 1. **TXT格式文档导入Oracle**: TXT文件是最基本的数据格式,...
跨库导入数据,用python3脚本查询查oracle库的一张表数据后导入mysql数据库的一张表,大批量数据导入
3. **自动存储管理(Automatic Storage Management, ASM)**:ASM是Oracle10g的一个重要特性,它集成了文件系统和卷管理器,简化了存储管理,提高了数据仓库的可扩展性和可靠性。 4. **Real Application Clusters ...
标题“Excel数据导入Oracle”涉及的关键技术点是数据迁移,主要涵盖了两个方面:一是从Excel文件中读取数据,二是将这些数据导入Oracle数据库。在实际应用中,这通常需要编程实现,涉及到Java语言和Oracle数据库的...
- 数据迁移:当需要将数据从一个Oracle实例迁移到另一个实例时,导入导出工具是关键。 - 数据备份:定期备份数据库以防止数据丢失,确保业务连续性。 - 数据恢复:在系统故障或数据错误时,通过备份数据进行恢复...
参数文件方式:将所需的参数写入到一个文件中,然后使用 exp 或 imp 命令加上 parfile 选项来指定参数文件,例如,exp parfile=username.par。 三、模式 exp 和 imp 工具都有三种模式:表方式、用户方式和全库方式...
在 Windows 系统中,进行数据备份前,需要创建一个操作系统用户(如 oracle_back),并将其添加到 Administrator 和 ora_dba 组。此外,还需在本地安全策略中赋予此用户批处理作业登录的权限,以便在备份过程中使用...
本资源包提供了一个实用的解决方案,即使用C#编程语言批量导入Excel数据到Oracle 11G数据库。以下将详细阐述这个过程涉及的关键知识点。 首先,我们要了解C#。C#是由微软开发的一种面向对象的编程语言,广泛应用于...
这通常表示一个网站的名称,可能是一个教程文档或示例数据集。如果这个文件是与Oracle数据导入导出相关的,那么它可能包含了关于如何使用expdp和impdp的步骤、示例脚本,或者是准备导入的测试数据。 在实际操作中,...
4. 在导出数据时,可以选择 Single file 选项,以便将所有对象导出到一个 SQL 脚本文件中。 5. 在导出数据时,可以选择 File per object 选项,以便将每个对象导出到一个特定的文件中。 导出和导入数据的步骤: 1....