zoukankan      html  css  js  c++  java
  • DB2通过java代码生成自定义uuid()函数

    一、简单的方法

    此种方法在快速大量生成时,会有重复

    SELECT concat (hex (RAND ()), hex (RAND ())) as uuid FROM SYSIBM.SYSDUMMY1; --32位大写  

    select lower(hex(RAND())||hex(RAND())) as uuid from sysibm.sysdummy1;--32位小写

    二、自定函数,调用java生成uuid

    import java.util.UUID;
    
    import COM.ibm.db2.app.UDF;
    
    public class UDFUUID extends UDF {
    
        public static String uuid() {
            return UUID.randomUUID().toString().replaceAll("-", "");
        }
    
    }

    然后用db2自带的jdk(比如$HOME/sqllib/java/jdk/bin)编译成class

    查看DB2自带的jdk_path

    $ db2 get dbm cfg | grep -i jdk_path

     Java Development Kit installation path       (JDK_PATH) = /home/db2inst4/sqllib/java/jdk64

    /home/db2inst4/sqllib/java/jdk64/bin

    (/opt/IBM/db2/V9.7/java/jdk64/bin)

    /home/db2inst4/sqllib/java/jdk64/bin/java -c /home/myUserName/UDFUUID.java

    2.创建自定义函数

    第一种:

    直接把UDFUUID.class拷贝到$HOME/sqllib/function下。

    实例用户cp /home/myUserName/UDFUUID.class /home/db2inst4/sqllib/function/UDFUUID.class

    不用重启数据库

    然后执行:

    drop function uuid;  
    create function uuid()  
        returns char(32)  
        fenced  
        variant  
        no sql  
        language java  
        parameter style java  
        external name 'UDFUUID!uuid'; 

    验证:

    values uuid(); 

    OK了!

    引用地址:https://www.iteye.com/blog/happyqing-2391526

  • 相关阅读:
    组合数学总结
    字符串算法总结
    数据结构总结
    CDQ分治(学习笔记)
    网络流(学习笔记)
    string
    water
    mine
    洛谷 P4035 【球形空间产生器】
    洛谷 P3306 【随机数生成器】
  • 原文地址:https://www.cnblogs.com/livensummer/p/13689671.html
Copyright © 2011-2022 走看看