`
小网客
  • 浏览: 1243780 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

informix数据对比

 
阅读更多

需求如下:

企业传送过来个人费用明细文件,每行数据按“|”分割:个人银行账号|客户姓名|单位月缴额|账户状态|

银行informix数据库表 booklist存储银行个人费用明细,booklist表主要字段是:cust_no,cust_name,mon_pay,state 对应于上面文件内容。

现需要进行核对明细,上述各字段皆不为空,账户状态有0-正常、1-封存,根据个人银行账号逐个比对单位月缴额和账户状态,最终打印出企业多、银行多、不一致和一致的结果。

要求使用链表,存储和核对需要打印的结果字段个人银行账号、客户姓名、单位月缴额、账户状态、对比结果。请写出设计流程和主要SQL代码。

 

方案:

1.数据导入到一张表中

2.利用MERGE INTO去计算匹配 

代码实现:

1.命令行创建比对结果表并数据导入到informix:

CREATE TABLE bookListResult 
(
   cust_no  VARCHAR(40), 
  cust_name  VARCHAR(40),  
  mon_pay  FLOAT ,
  state int, 
   isSync  int,
   whoMore  VARCHAR(40),
); 

load from /mydir/enterprise.dat delimiter '|'
insert into bookListResult;

2.数据匹配比对操作:

--是否一致 一致标示为1,否则标示为0,判断标准仅限于账户名称,账户状态和金额
MERGE INTO bookListResult blr
USING booklist bl
ON blr.cust_no=bl.cust_no and blr.state = bl.state   and blr.mon_pay = bl.mon_pay
WHEN MATCHED THEN
UPDATE SET blr.isSync = 1,
WHEN NOT MATCHED THEN
UPDATE SET blr.isSync = 0;

--是否一致 一致标示为1,否则标示为0
MERGE INTO bookListResult blr
USING booklist bl
ON blr.cust_no=bl.cust_no and blr.mon_pay > bl.mon_pay and blr.isSync = 0  and blr.state = bl.state
WHEN MATCHED THEN
UPDATE SET blr.whoMore = '企业多',
WHEN NOT MATCHED THEN
UPDATE SET blr.whoMore = '银行多';

3.直接遍历bookListResult打印结果信息

 

0
0
分享到:
评论

相关推荐

    INFORMIX数据库操作及SQL语法

    ### INFORMIX数据库操作及SQL语法 #### 一、引言 ...通过以上内容的学习,可以更好地理解INFORMIX数据库的操作和管理,以及如何利用SQL语言来有效地管理和查询数据。这对于软件开发人员来说是非常重要的技能。

    oracle到informix数据库移植研究

    1. **准备阶段**:这是整个数据移植流程的基础,需对源数据库(Oracle)与目标数据库(Informix)进行全面的对比分析,识别差异,并制定相应的迁移策略。这一步骤包括数据类型匹配、SQL语法调整、函数和存储过程的...

    informix-jdbc各版本驱动包合集.zip

    《Informix JDBC驱动详解及其版本对比》 Informix是一款高效且功能强大的关系型数据库管理系统,广泛应用于企业级数据存储和管理。与Java编程语言的交互是通过Java Database Connectivity(JDBC)驱动程序实现的。...

    Oracle与Informix函数比较.doc

    Oracle 和 Informix 都提供了字符串函数来处理字符串数据。这些函数可以用来截取字符串、转换字符串的大小写、获取字符串的长度等。 1. 截取字符串:Informix 中的 substr 函数可以用来截取字符串,例如 `str...

    informix sql性能分析

    2. **Oracle环境**:虽然本篇文章主要关注的是Informix数据库,但为了对比和学习,了解如何在Oracle环境下执行SQL性能分析也是有益的。可以通过`sqlplus`工具来执行相关的命令。 #### 二、获取SQL执行计划 在进行...

    达梦数据库6与sinoregal ds/informix存储过程对比

    ### 达梦数据库6与Sinoregal DS/Informix存储过程对比分析 #### 概述 本文档旨在对比达梦数据库6(以下简称“DM”)与Sinoregal DS(以下简称“Sinoregal”)存储过程的异同点,通过详细阐述两者的差异,帮助读者更...

    主流数据库分析比较(SQL Server ,Oracle、SYSASE,DB2,INFORMIX)

    例如,如果业务需求强调大数据处理和实时分析,那么Oracle和INFORMIX可能是理想的选择;而如果需要一个易于上手且在Windows环境中运行良好的数据库,SQL Server会是不错的选择。 此外,每个数据库都有其特有的特性...

    informix-error.rar_informix

    3. 空间不足:“-802”错误,表明数据库空间不足,需要扩展数据文件或清理无用数据。 4. 权限问题:“-20001”错误,通常意味着用户权限不足,需要检查用户的访问权限设置。 四、错误日志分析 Informix的错误日志...

    Compare-SQL-Server-2012-and-Informix.rar_2012_informix

    描述简单明了,直指对比的内容是SQL Server 2012与Informix。标签"2012 informix"进一步确认了讨论的是这两个特定版本的数据库管理系统。 SQL Server 2012是Microsoft公司推出的一款关系型数据库管理系统,以其强大...

    informix 问题总结

    ### Informix 数据备份与管理知识点总结 #### 一、Informix 数据备份方法比较及选择 在进行数据备份时,有多种方法可以选择,如 `ontape`、`dbexport` 和 `unload`。根据具体需求,不同的备份方式适用于不同的场景...

    INFORMIX数据库管理员培训教程

    1. **Informix产品简介及新旧对比** - Informix C-ISAM:早期的数据库引擎,基于文件系统存储,支持行级锁定。 - Informix SE(SQL Everywhere):适用于小型系统的简单数据库,通过sqlterm工具进行管理。 - ...

    informix migration to oracle

    - **数据验证**:对比迁移前后数据的一致性,确保数据准确无误。 - **性能调优**:根据迁移后的实际运行情况调整 Oracle 数据库参数,优化性能表现。 #### 七、注意事项 - **迁移风险评估**:迁移过程中可能存在...

    Informix 编程手册.pdf

    - **性能对比**:分析两种方式在处理Form数据时的性能表现。 - **适用场景**:根据不同的应用场景选择合适的编程方法。 #### 显示Form和窗口的语句 - **Form显示**:如何在界面上展示Form数据。 - **窗口管理**:...

    INFORMIX培训教程

    首先,了解Informix的产品历史与对比。Informix最初以C-ISAM为基础,提供了简单易用的文件系统,如Informix SE和sqlterm。随着技术的发展,Informix推出了Online 4.0和sqlturbo,再到Informix Dynamic Server 7.1,...

    INFORMIX 数据库优化资料

    - **Informix Dynamic Server (IDS)**是Informix的主要版本之一,提供了先进的数据管理和存储功能。版本9.4是该系列中的一个关键版本,包含了多项重要的性能改进和新特性。 #### 二、性能调优基础知识 - **性能调优...

    Informix移植Oracle方法论.pptx

    在移植过程中,需要对比和理解Informix与Oracle之间的架构和对象差异,如Database、Tablespace、User、Table、Trigger、Synonym、Sequence和View等。例如,Informix的serial类型在Oracle中可以通过number类型和...

    论基于Informix应用系统的移植.pptx

    本文主要探讨了基于Informix应用系统的移植过程,涉及Informix应用的特性、Informix与Oracle的对比、移植工具Migration Workbench的使用,以及移植过程中的关键步骤和技术难点。以下是对这些知识点的详细阐述: 1. ...

    Informix数据库升级指南定义.pdf

    【Informix数据库升级指南】 Informix数据库升级是一个关键任务,涉及多个步骤,旨在将现有数据库从旧版本平滑过渡到新版本。此过程不仅需要确保数据的完整性和一致性,还要保持系统的稳定性和性能。本文主要关注...

    INFORMIX数据库和其他数据库的比较[参照].pdf

    【描述】:本文件主要对比了INFORMIX数据库与其他数据库,如Microsoft SQL Server,在数据库对象、限制、数据类型等方面的特点和差异。 【标签】:软件开发 【正文】: INFORMIX数据库在数据库对象方面表现出一些...

    Informix 高级培训教材【带标签】

    《Informix 高级培训教材》是一份专为Informix数据库管理系统高级用户和管理员准备的教程,涵盖了系统对比、配置优化、性能调整等多个关键领域。本文将深入解析教材中的核心知识点,帮助读者提升对Informix数据库...

Global site tag (gtag.js) - Google Analytics