- 论坛徽章:
- 1
|
由于 db2 自己没有 uuid 函数,不能自己生成随机的一个 ID 号,就用 java 写了一个(其实是 google 来的)。
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;
- }
- }
复制代码 db2 的自定义 uuid 函数代码:- drop function uuid;
- create function uuid()
- RETURNS char(32)
- LANGUAGE JAVA
- PARAMETER STYLE JAVA
- NOT DETERMINISTIC NO EXTERNAL ACTION NO SQL
- EXTERNAL NAME 'UDFUUID!uuid';
复制代码 创建都没有问题,可在部分机器上执行报如下错误:
db2 "values uuid()"
1
--------------------------------
SQL4304N Java stored procedure or user-defined function "TESTDB.UUID",
specific name "SQL121026145933700" could not load Java class "UDFUUID", reason
code "1". SQLSTATE=42724
已经设置了 java 的相关环境变量信息。
|
|