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
DB2通过java代码生成自定义uuid()函数的更多相关文章
- db2使用Java存储过程实现MD5函数
1.数据库版本 2.Java脚本 import java.security.MessageDigest; import COM.ibm.db2.app.UDF; public class MD5UDF ...
- Java进阶SQL函数、网页定时刷新与自定义JSTL函数
一.SQL函数 能够在SQL语句中调用的函数(方法) ,用来实现一些小功能 聚合函数 能够把多行数据聚合成一个值(统计) count() 计数,计算数据条数 max() 计算最大值 m ...
- 自定义el函数
1.1.1 自定义EL函数(EL调用Java的函数) 第一步:创建一个Java类.方法必须是静态方法. public static String sayHello(String name){ retu ...
- ORACLE 自定义聚合函数
用户可以自定义聚合函数 ODCIAggregate,定义了四个聚集函数:初始化.迭代.合并和终止. Initialization is accomplished by the ODCIAggrega ...
- 权限管理之基于ACL的实现:自定义JSTL函数实现即时认证
实现即时认证(即只有拥有相应的权限,才能做相应的操作) 经常用在,在JSP页面上,调用JSTL自定义函数做判断,显示相应的菜单或者功能按钮,比如只有管理员登陆时才显示“删除”按钮,从而完成权限的即时认 ...
- 自定义JSTL函数标签(一)
jstl标签库的配置 * 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar) 注意:jstl必须在能够支持j2ee1.4/servl ...
- EL函数和自定义EL函数
简介 EL原本是JSTL1.0中的技术(所以EL和JSTL感情如此好就是自然的了),但是从JSP2.0开始,EL就分离出来纳入了JSP的标准了.但是EL函数还是和JSTL技术绑定在一起.下面将介绍如何 ...
- [转载]MySQL UUID() 函数
目录 目录 一 引子 二 MySQL UUID() 函数 三 复制中的 UUID()四 UUID_SHORT() 函数 3.1 实验环境介绍 3.2 搭建复制环境 3.3 基于 STATEMENT 模 ...
- 关于java实现自定义曲线拟合的研究
项目需要拟合曲线,使用java实现.采用了apache-commons-math3实现自定义的曲线. 作为apache开源的搞数学计算的超强的库,一直不受市场重视.为啥呢?经过研究,使用java这个强 ...
- Atiitt 使用java语言编写sql函数或存储过程
Atiitt 使用java语言编写sql函数或存储过程 1.1. java编写sql函数或存储过程的机制1 1.2. Java编写sp的优点1 1.3. 支持java源码,class文件,blog f ...
随机推荐
- vue监听video标签播放暂停,中间按钮替换 controls控制台
先搞个原生的video标签进来 <video ref="movie" class="video" src="static/movie.mp4&q ...
- 循环4-for循环
一.语法 for循环和while类似,常用于执行有限次数的循环,有两种语法结构, 1.变量列表循环 语法: for 变量名 in 变量取值列表 do 指令...... done 变量取值列表中的值,要 ...
- Application.HandleMessage与Application.ProcessMessage
HandleMessage: HandleMessage中断应用程序的执行,以便Windows可以在将控制权返回给应用程序之前处理来自Windows消息队列的单个消息. 如果消息队列为空,则Handl ...
- ZSTUOJ刷题⑨:Problem H.--尖兵
Problem H: 尖兵 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4691 Solved: 2112 Description 星光人已经出发了 ...
- linux缓冲区溢出尝试
#include <stdio.h>#include <string.h>char Lbuffer[] = "01234567890123456789======== ...
- 用python遍历一个图片文件夹,并输出所有路径到一个 txt 文件
1 #coding:utf8 2 import os 3 import sys 4 def listfiles(rootDir, txtfile, label=0): 5 ftxtfile = ope ...
- Read And Write
The process of argument(论据的过程) Making a claim.(申明观点) Pointing out the opposing idea.(指出相反观点) Support ...
- 【Appium_python】利用Template生成对象模板_appium_元素定位/操作
UI自动化中用PageObject设计模式就会发现page元素定位代码基本重复,复制黏贴,修改,所以就想到运用模板方式,批量生成page,同理也能批量生成handle. 有模板,利用配置文件ini获取 ...
- 解决linux时间转换为yyyy-MM-dd
linux时间显示为:Tue Nov 30 09:33:04 CST 2021 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd ...
- CentOS6.x 7.x 8.x 服务器系统初始化设置
服务器设置例子一.挂载硬盘1.磁盘分区fdisk -l #查看设备,一般可以看到设备名为/dev/xvdb,或者为/dev/vdb(阿里云io优化型)fdisk /dev/xvdb #对磁盘进行分区, ...