zoukankan      html  css  js  c++  java
  • dmp导入未有xyptguid解决办法

    根据考核的八大类数据,经常从部门那里拿到的dmp文件,里面并没有xyptguid的随机数字段。会出现xyptguid为空的情况。但是从我们平台里面导入的Excel表格会产生xyptguid的随机数。

    这时候我们自己就需要自己建立随机数并插入到表中。

    信用平台里面的xyptguid随机数是符合rfc 4122的标准(http://tools.ietf.org/html/rfc4122)

    所以我们建立的随机数也需要遵循这种。

    首先创建函数

    CREATE OR REPLACE
    
    FUNCTION get_uuid
    
    RETURN VARCHAR
    
    IS
    
    guid VARCHAR (50);
    
    BEGIN
    
    guid := lower(RAWTOHEX(sys_guid()));
    
    RETURN
    
    substr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||substr(guid,17,4)||'-'||substr(guid,21,12);
    
    END get_uuid;
    

    这时候我们测试该函数产生的随机数:

    select` `get_uuid ``from` `dual ;
    

    该随机数和目前数据交换系统产生的随机数格式是一致的。

    后面的问题就是如何将产生的随机数,循环的插入到表中?

    这时候我们就需要用到游标:(测试语句如下)

    declare
    
       *--**定义游标并且赋值(is 不能和cursor分开使用)*
    
       cursor cur_1 is select get_uuid from dual;
    
       *--**定义rowtype*
    
       cur_stu T_GYSYJFXX%rowtype;
    
       begin
    
       *--**开启游标*
    
       for cur_stu in cur_1 loop
    
    ​    *--**执行操作sql*
    
    ​    update T_GYSYJFXX set xyptguid= get_uuid where xyptguid is null;
    
    ​    *--**结束循环*
    
    ​    end loop;
    
       */***结束执行*/*
    
       end;
    

    测试更新的表T_GYSYJFXX数据量为40万条,循环插入随机数后不重复且符合交换系统要求。

  • 相关阅读:
    Oracle+Ado.Net(四)
    Oracle+Ado.Net(三)
    json-server 详解
    在线字体图标
    HTML页面模板代码
    CSS样式重置
    WEB前端开发流程总结
    大前端-全栈-node+easyui+express+vue+es6+webpack+react
    大前端全栈CSS3移动端开发
    jQuery学习
  • 原文地址:https://www.cnblogs.com/jianshuai520/p/14215930.html
Copyright © 2011-2022 走看看