一、简单的方法
此种方法在快速大量生成时,会有重复
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
1.创建java类
import java.util.UUID; import COM.ibm.db2.app.UDF; public class UDFUUID extends UDF { public static String uuid() { // UUID uuid = UUID.randomUUID(); // String uid = uuid.toString().replaceAll("-", ""); // return uid; 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';
第二种:
把此类打成jar包(最好用db2的jdk打包),比如叫UUIDUDF.jar 并放在d盘,然后在命令行调用
Db2 call sqlj.install_jar('file:d:\customfunction.jar', 'UUIDUDFJAR')
然后执行
drop function uuid;
create function uuid()
RETURNS char(32)
LANGUAGE JAVA
PARAMETER STYLE JAVA
NOT DETERMINISTIC NO EXTERNAL ACTION NO SQL
EXTERNAL NAME 'UUIDUDFJAR:UDFUUID.uuid';
最后像使用一般函数一样使用,
values uuid(); select uuid() from SYSIBM.SYSDUMMY1;
参考:
db2 uuid
http://blog.csdn.net/qqqwwwqw/article/details/8055413
DB2基于JAVA的自定义函数(user-defined-function)示例
相关推荐
PB生成UUID
利用雪花算法生成uuid
采用纯C的方式生成全球唯一ID,guid,采用linux下的代码移植过来的,软件采用vc6编译
javascript 随机生成36为的UUID值
苹果iOS 5.0以后不再支持uniqueIdentifier方法获取用户的UDID,替代的方法需要用户...附件代码通过网卡mac地址生成UUID,取代原来方式,每次都会生成同样的并且唯一的UUID,不用保存,也不用担心iOS不同版本的问题。
sql生成uuid,自己试了一下非常的好用,希望对你们有用
直接通过 dbo.[FunGetUUID32](NEWID())即可获取到32位UUID,非常简单方便。
Java生成UUID使用的第三方包,生成UUID的第三方包,
jdk与javauuidgenerator生成uuid
javascript生成uuid的js库文件
这个函数用最短的代码生成了非常有效的uuid,非常巧妙。短小精悍,一个字符都不多。Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, where each x is replaced with a random ...
linux 更换 eth1修改为eth0之修改uuid
JS生成UUID,网上下的,0分分享,有需要的方便下载
Unity生成设备唯一UUID,代码+样例
UUID生成工具类
简单快速javascript生成UUID
java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出
js生成UUID,使用var myuuid=(new UUID()).id;其中myuuid的值就是需要UUID。
自己写的一个UUID生成的dome
手机UUID!