`

亚信面试题

阅读更多

现有A表和B表,有bill_id,detail_data两个字段,其中bill_id为数字型,是用户手机号码;detail_data是个字符串总长度为4000,每16位是一组,每组由两部分组成,费用代码(7位)和费用(9位)(注:位数包括空格),多个组拼成该字段的内容。现要将A表中的bill_id和B表的bill_id相等的记录,将其detail_data合入B表中的detail_data,原则是费用代码相同的,将费用相加,A表中有但B表中没有的费用代码,将费用代码和费用追加到B表的detail_data中。
写出存储过程。

 

 

create or replace procedure test_sp_afa
is
   ls_detail_data   varchar2(4000);
        cursor c1 is select a.bill_id from a, b where a.bill_id=b.bill_id;
begin
        for iii in c1 loop
           --拆分b表,写入test_b(这个过度表很恶心)
                insert into test_b
                select substr(detail_data,rownum*16-15,7) daima0,substr(detail_data,rownum*16-15,9) feiy00
                from b
                start with bill_id=iii.bill_id
                connect by bill_id=iii.bill_id and rownum<=ceil(length(trim(detail_data))/16);
                --拆分a表,和test_b连接.
      merge into test_b bb
              using  (
                          select substr(detail_data,rownum*16-15,7) daima0,substr(detail_data,rownum*16-15,9) feiy00
                          from a
                          start with bill_id=iii.bill_id
                          connect by bill_id=iii.bill_id and rownum<=ceil(length(trim(detail_data))/16)
                          ) aa
                   on (aa.daima0=bb.daima0)
                when matched then
                        update set bb.feiy00+aa.feiy00
                when not matched then
                   insert values (aa.daima0,aa.feiy00);
                --取连接后的detail_data 值
      select max(detail_data) into ls_detail_data                                                   
      from                                                                              
      (
      select replace(sys_connect_by_path(rpad(daima0,7,' ')||rpad(feiy00,9,' '),','),',') detail_data
      from                                                                              
         (select a.*,rownum rn                                                            
          from test_b a )                                                              
      start with rn=1                                                                    
      connect by rn=prior rn+1
      );
      --修改b表对应记录
      update b
      set  detail_data =ls_detail_data
      where bill_id=iii.bill_id;
      --删除test_b内容
      truncate table test_b;
end loop;
      --exception
end;

分享到:
评论

相关推荐

    java工程师亚信面试题

    在Java编程语言中,访问修饰符是用于定义类、接口、方法、...了解以上知识点对解答亚信公司的Java工程师面试题至关重要,同时也是Java程序员日常开发的基础。熟练掌握这些概念将有助于提升代码质量和解决问题的能力。

    亚信面试题,不错的总结,很有用处

    Java 和 J2EE 相关知识点总结 本文总结了 Java 和 J2EE 相关的知识点,以便更好地理解和掌握 Java 和 J2EE 相关技术。涵盖了 interface 和 abstract 的区别、HashMap 和 Hashtable 的区别、线程常用的方法、GC 的两...

    亚信科技面试题

    亚信面试题

    Java 亚信上海 面试题

    ### Java 亚信上海 面试题解析 #### 笔试题知识点详解 ##### 1. 选择题(未提供具体题目) 由于题目未给出具体内容,这里我们无法对选择题进行详细解析。 --- ##### 2. 简答题 **抽象类与接口的区别:** - **...

    最新亚信的面试题 最近面试者上传共享

    根据给定的文件标题、描述、标签以及部分内容,我们可以从中提炼出以下IT领域的知识点: ### 1. C/C++中的`sizeof`运算符 在C/C++编程中,`sizeof`是一个运算符,用于确定其操作数(可以是数据类型或变量)的大小...

    亚信科技面试原题数据库

    【亚信科技面试原题数据库】涉及的知识点主要围绕Oracle数据库系统编程展开,包括SQL语句的使用、数据类型转换、事务处理、表的操作以及权限管理。以下是对这些知识点的详细解释: 1. SQL语句的正确性: - `select...

    亚信联创面试题(转帖集)

    还让写了两个函数,分别是动态实现二维数组,以及如何释放二维数组,记得当时在大学的时候,好多课的上机也用过,不过记得不太清了,这些年都忘的差不多了,不过还好,面试官没说什么,就是说了释放有些问题,估计...

    郑州亚信面试经验-测试方向

    ### 郑州亚信测试岗位面试经验解析 #### 公司了解与看法 1. **公司背景**:首先,面试官希望候选人能够对公司有一定的了解,包括但不限于公司的主营业务、文化价值观、行业地位等方面。这表明求职者对于所申请的...

    达内内部各软件公司面试题

    本资源"达内内部各软件公司面试题"聚焦于亚信、文思、软通等知名软件公司的面试题目,旨在为准备应聘的Java工程师提供宝贵的复习资料。 首先,我们要理解Java面试的核心内容通常会涵盖以下几个方面: 1. **Java...

    java现场面试题--亚信SSH\Oracle面试题

    ### Java现场面试题详解:亚信SSH\Oracle面试题 #### Struts1.0的运行机制与架构原理 Struts框架作为MVC(Model-View-Controller)设计模式的经典实现之一,极大地方便了Java Web应用的开发。在传统的JSP-Servlet-...

    亚信笔试纸质扫描试题

    亚信面试笔试纸质试题扫描件,PDF文档。内容包括智力题、基础题。

    亚信最新软件测试笔试题

    亚信公司作为中国知名的电信软件和服务提供商,其在招聘过程中对技术人才的考核严谨而全面。2020年测试工程师实习生的笔试题涵盖了多个重要领域,旨在考察候选人的测试理论基础、数据库知识、Linux与Shell操作以及...

    亚信面试题目

    Java 面试题目 以下是根据给定的文件信息生成的相关知识点: 1. Vector 和 ArrayList 的区别 * Vector 的方法都是同步的(Synchronized),是线程安全的(thread-safe),而 ArrayList 的方法不是。 * Vector 和 ...

    测试面试题

    测试面试题 测试工程师面试题目是互联网公司面试的重要组成部分。以下是测试面试题的知识点总结: 基本测试流程 测试流程是测试工程师的基础知识。基本测试流程包括需求分析、测试计划制定、测试用例设计、用例...

    java 面试题整理 包含N个大公司的面试题

    8. **阿里巴巴、淘宝、亚信、华为等公司的面试题**:这些公司的面试题通常会结合公司业务和技术特点,如阿里巴巴的中间件技术、淘宝的高并发场景处理、亚信的通信行业解决方案、华为的硬件和网络技术等。 9. **笔试...

    亚信联创笔试题(真心管用)

    亚信联创面试题java基础知识 亚信联创笔试2011浙工大10月 2010亚信联创java笔试题 操作系统复习题(1)

    面试题--北京亚信C++.doc

    ### 面试题知识点解析 #### 1. 你希望做哪方面的工作 - **解析**:这是一个开放性问题,旨在了解应聘者的兴趣方向及职业规划。应聘者可以从技术角度出发,比如偏好后端开发、系统架构设计等;也可以从项目类型出发...

    亚信笔试题

    然而,理解如何手动管理字符串也很重要,尤其是在面试或学习底层原理时。`String` 类的构造、拷贝构造、析构和赋值操作涉及深拷贝的概念,确保每个 `String` 对象拥有自己的一份数据副本,避免数据共享引发的问题。 ...

    大数据面试题

    大数据常见面试,根据自己面试经验总结 hadoop spark scala hive hbase flume kafka

    java面试题以及技巧

    │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科...

Global site tag (gtag.js) - Google Analytics