zhuyumu 发表于 2016-11-19 02:41:13

DB2定义UUID

  很多数据库都提供了UUID/GUID函数,可DB2却没有,不知道IBM怎么想的,好在DB2提供的了自定义函数接口,而且支持JAVA,既然没有,提供JAVA自定义函数,也好啊,用JAVA写个UUID太容易了,几行代码,下面自己弄个UUID吧
1. JAVA类   



1 import java.util.UUID;
2 import COM.ibm.db2.app.UDF;
3
4 public class UDFUUID extends UDF{
5   public static String uuid(){
6         UUID uuid = UUID.randomUUID();
7         //去掉中间的分隔
8         String uid = uuid.toString().replaceAll("-", "");
9         return uid;
10   }
11 }

2.把JAVA类放到DB2函数库目录下去,放到IBM\SQLLIB\FUNCTION下
3.用DB2带的jdk编译一下,
   IBM\SQLLIB\java\jkd\bin\javac UDFUUID.java
4.注册函数



1 drop function uuid;
2 create function uuid()
3   returns char(32)
4   fenced
5   variant
6   no sql
7   language java
8   parameter style java
9   external name 'UDFUUID!uuid';

5.使用看看


  values(uuid());

以后想怎么用就怎么用吧
页: [1]
查看完整版本: DB2定义UUID