`
kewen342757003
  • 浏览: 145047 次
社区版块
存档分类
最新评论

数据库跨实例跨表数据转移

 
阅读更多
最近由于业务需要,要将一个老版本的系统升级到新版本。 两个版本之间表结构存在一些差异,为了原来系统运行的数据不丢失,需要做一个跨实例跨表的数据转移。(即升级)

这里记录一些用到的sql:

1.DBLink
-- Create database link 
create database link DBLinkxxx
  connect to userName identified by password
  using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 11.12.13.14)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = abc)))';

这里的 DBLinkxxx 是指创建的DBLink的名称
       userName 是指链接目标的用户名   password是对应的密码
       HOST = 11.12.13.14 是目标数据库IP地址 
       PORT = 1521 是端口
       SERVICE_NAME = abc    abc是目标数据库实例

2.表结构相同,只需要转移数据
insert into Table_A select * FROM userName.Table_B@DBLinkxxx; 

Table_A是我们的新表, userName.Table_B 是用户下的Table_B表  
@DBLinkxxx  是指使用上面的dblink链接两个数据库实例。

3.存在表结构差异,转移某些字段
insert into Table_A(ID,PROJECT_ID,EXEC_START_TIME,EXEC_END_TIME,EXEC_RESULT,MESSAGE) select ID,CYCLE_ID,START_TIME,END_TIME,EXECUTE_RESULT,MESSAGE FROM userName.Table_B@DBLinkxxx;

这个是要转移 B表中的 ID,CYCLE_ID,START_TIME,END_TIME,EXECUTE_RESULT,MESSAGE  6个字段到 A表中的ID,PROJECT_ID,EXEC_START_TIME,EXEC_END_TIME,EXEC_RESULT,MESSAGE字段中, 顺序是一一对应的。

4.匹配另一张表中的某一个数据,更新表中字段
update TABLE_A a set USERNAME = (select USERNAME from t_user where USER_ID = to_number(a.USERNAME));

这里业务需求是将用户ID改成用户名称,所以将table_a中的userName字段,匹配t_user表中的ID与Name的对应关系,全量修改为名称。
to_number(a.USERNAME) 这里用的是数字转换函数,将内容为数字的varchar格式转换为Number格式。  另外这里的a 对应前面的TABLE_A a,表名后加上a,表示我后面的sql中用a作为这个表的别名,可以让sql短一点。 其实这里就相当于Table_a.USERNAME。

5.替换函数 replace(field_name,'a','b')
update T_TEMPLATE set BASIC_INFO=replace(BBASIC_INFO,'9000000','kewen') 

这里是将T_TEMPLATE表中BASIC_INFO字段里面,所有出现的9000000,替换为kewen。
replace(BBASIC_INFO,'9000000','kewen'),这里括号中第一个字段为需要修改的字段名,第二个是被替换的内容,第三个是替换后的内容。

分享到:
评论

相关推荐

    c#编写的数据库数据转移实例

    本实例专注于使用C#编程语言实现这一过程,特别是在处理差异版本和不兼容版本数据库之间的数据转移。C#作为.NET框架的核心语言,提供了丰富的库和API,使得开发人员能够方便地进行数据操作。 首先,我们要理解数据...

    SQL Server数据库开发实例解析完整版

    本资源“SQL Server数据库开发实例解析完整版”提供了丰富的实践案例,帮助开发者深入理解并掌握SQL Server的数据库开发技术。以下是根据标题、描述以及压缩包中的文件名称,提炼出的相关知识点: 1. SQL Server...

    SQL2005 数据库经典实例

    通过实例,我们可以学习如何创建和修改表结构,定义数据类型,设置约束(如主键、外键、唯一性约束),以及使用存储过程和触发器来实现业务规则。 2. 查询语言:SQL Server 2005支持标准的SQL查询语言,包括SELECT...

    java jsp sqlserver数据表转移到oracle实例 源代码

    标题中的“java jsp sqlserver数据表转移到oracle实例 源代码”表明这是一个关于使用Java和JSP技术,将SQL Server数据库中的数据表迁移至Oracle数据库的实际操作案例。这个过程通常涉及数据迁移、数据转换以及可能的...

    SQL Server 2008故障转移集群+数据库镜像配置实例

    ### SQL Server 2008 故障转移集群与数据库镜像配置实例 #### 一、向 SQL Server 群集中添加另一个节点 在构建 SQL Server 2008 的故障转移集群时,通常需要在现有集群中添加新的节点来增强系统的可用性和负载均衡...

    Oracle数据库系统应用实例集锦与编程技巧

    12. **数据库升级与迁移**:Oracle提供了一系列工具和技术进行版本升级和跨平台迁移,如Data Pump、DBUA等,确保数据完整无损地转移到新环境。 文件100.001至100.010可能包含了上述各方面的实例和具体操作步骤,...

    abap逻辑数据库ABAP数据库操作

    在ABAP程序中,可以将数据选择到内表中,这样做的好处是可以对数据进行更复杂的处理,比如将数据从一个表转移到另一个表。通过使用内表读取数据时,通常会用到loop语句。 查询条件的动态指定允许在程序运行时根据...

    数据库系统原理与应用开发实例

    数据库系统原理是信息技术领域中的核心课程,它涵盖了数据存储、数据管理、数据查询以及数据安全等方面的知识。在“数据库系统原理与应用开发实例”中,我们将会深入探讨这些关键概念。 首先,我们要理解数据库的...

    图书馆数据库设计实例.doc

    数据存储部分详细描述了图书信息表、读者信息表和借书记录等数据存储的组成结构和用途。 进入概念结构设计阶段,工作重点转移到识别出系统中的实体及其属性。例如,读者实体包括借书证号、姓名、性别、部门、类别、...

    SQL Server 2008故障转移集群+数据库镜像配置实例之一

    ### SQL Server 2008 故障转移集群与数据库镜像配置实例解析 #### 一、总体方案 本文档介绍了一种结合SQL Server 2008故障转移集群与数据库镜像技术的整体解决方案。该方案的核心在于实现主体数据库的高可用性与...

    数据库之间进行数据迁移代码实例

    2. 表字段对应:数据迁移时,源数据库与目标数据库的表结构可能不完全相同,因此需要处理字段映射。这可能涉及到字段名的转换、数据类型的转换,甚至在目标数据库中创建新的表结构。可以使用SQL的ALTER TABLE命令或...

    oracle数据库或表导入导出

    - `system/manager@TEST`: 指定了执行导出操作的用户(`system`)及其密码(`manager`),以及目标数据库实例名(`TEST`)。 - `file`: 指定导出文件的路径与名称。 - `full=y`: 表示进行完全导出。 #### 部分表...

    sql2005数据库打开sql2008数据库表的方法

    在操作过程中,需要确保SQL Server 2005版本的SSMS已经安装,并且连接数据库实例没有问题。同时,为了保证数据的安全性和操作的正确性,在执行上述操作之前,建议先在测试环境中进行演练,避免生产环境中的风险。 ...

    SQL Server 2008故障转移集群+数据库镜像配置实例之三.pdf

    以下是对SQL Server 2008 故障转移集群与数据库镜像配置实例的详细介绍: ##### 1. 配置集群的数据库镜像 - **步骤一**:在SQL集群中建立一个用于留言板的数据库`Message`作为主数据库。 - **步骤二**:创建完整的...

    sql数据转移工具源码

    在描述中提到的“用于不同库 不同表的数据转移”,意味着该工具具备跨数据库迁移数据的功能,可以将数据从一个数据库的表迁移到另一个数据库的表中。这通常涉及到数据抽取、转换和加载(ETL)的过程,其中可能包括...

    SQL Server 2008 数据库镜像部署实例

    在企业级数据处理环境中,SQL Server 2008 数据库镜像部署实例的目标在于构建一个高度可靠且具备自动故障转移能力的数据库系统。通过镜像技术,企业能够实现数据的实时复制,即使主数据库发生故障,镜像数据库也能...

    数据本地数据库传输到远程数据库示例

    - 对于大量数据,考虑使用数据库级别的复制技术,如MySQL的主从复制或Oracle的GoldenGate,它们能实时同步数据,减少一次性全量转移的压力。 以上就是从本地数据库传输数据到远程数据库的基本步骤和相关知识点。在...

    sqlserver2008数据库实例练习

    在SQL Server 2008数据库实例练习中,你可以深入理解和掌握关系型数据库管理系统的精髓,特别是关于SQL Server 2008的功能和操作。这个练习案例是一个学生成绩管理系统,它提供了实践查询、更新、插入和删除等基本...

Global site tag (gtag.js) - Google Analytics