问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

db2中插入数据后直接返回主键(自增列id)的sql怎么写

发布网友 发布时间:2022-04-07 22:08

我来回答

2个回答

懂视网 时间:2022-04-08 02:29

 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函数库目录下去,放到IBMSQLLIBFUNCTION下
3.用DB2带的jdk编译一下,
   IBMSQLLIBjavajkdinjavac 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());

 


以后想怎么用就怎么用吧

DB2定义UUID

标签:

热心网友 时间:2022-04-07 23:37

db2
=>
CREATE
TABLE
test_create_tab2
(
db2
(cont.)
=>
id
INT
NOT
NULL
PRIMARY
KEY
generated
always
as
identity,
db2
(cont.)
=>
val
VARCHAR(10)
db2
(cont.)
=>
);
DB20000I
SQL
命令成功完成。
db2
=>
INSERT
INTO
test_create_tab2(val)
VALUES
('NO
id');
DB20000I
SQL
命令成功完成。
这里和
SQL
Server
一样,大家都不能手动指定那个
自增id
的数值
db2
=>
INSERT
INTO
test_create_tab2(id,
val)
VALUES
(1,
'id
no
use');
DB21034E
该命令被当作
SQL
语句来处理,因为它是无效的“命令行处理器”命令。在
SQL
处理期间,它返回:
SQL0798N
不能为定义为
GENERATED
ALWAYS
的列
"ID"
指定值。
SQLSTATE=428C9
这里和
SQL
Server
不一样,SQL
Server
会自动排除掉那个自动递增的列
db2
=>
INSERT
INTO
test_create_tab2
VALUES
('Is
Auto
?');
DB21034E
该命令被当作
SQL
语句来处理,因为它是无效的“命令行处理器”命令。在
SQL
处理期间,它返回:
SQL0117N
赋值数目与指定的或隐含的列数或变量数不一样。
SQLSTATE=42802
关于
初始数值的设定。
db2
=>
drop
TABLE
test_create_tab2;
DB20000I
SQL
命令成功完成。
db2
=>
CREATE
TABLE
test_create_tab2
(
db2
(cont.)
=>
id
INT
NOT
NULL
PRIMARY
KEY
generated
always
as
identity
db2
(cont.)
=>
(Start
With
100
db2
(cont.)
=>
Increment
by
1
db2
(cont.)
=>
minvalue
100
db2
(cont.)
=>
maxvalue
999999999
db2
(cont.)
=>
no
cycle
cache
5
no
order),
db2
(cont.)
=>
val
VARCHAR(10)
db2
(cont.)
=>
);
DB20000I
SQL
命令成功完成。
db2
=>
INSERT
INTO
test_create_tab2(val)
VALUES
('NO
id');
DB20000I
SQL
命令成功完成。
db2
=>
select
*
from
test_create_tab2;
ID
VAL
-----------
----------
100
NO
id
1
条记录已选择。
db2
=>
select
identity_val_local()
from
SYSIBM.SYSDUMMY1;
1
---------------------------------
100.
1
条记录已选择。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 为什么手机微博刷不出图片 iphone6新浪微博图片刷不出来什么原因网络是好的 做南瓜饼,可以用淀粉代替糯米粉吗 为什么早上老是做梦弄的一天都很累 明明睡了很久,为什么会感觉越睡越累? 晚上睡不着,睡着了老做梦,醒来就觉得好累,越睡越想睡,越睡越困,怎么办呢 睡觉时要是做梦越睡越困,越睡越累,不如不睡,怎么样睡觉不做梦,求解 下了这个itranslate软件在app订阅管理里面没有取消订阅项目,是否表示已经取消? ipad怎么设置itranslate iTranslate拍照翻译出现这个情况是怎么回事? 为什么多梦者会越睡越困?求解! 我很苦恼,每天都做梦,很多都能记住,越睡觉越累 电脑上上两个 怎么举报itranslate pro? 睡觉老是做梦越睡越累醒后嘴苦 电脑上上两个 莫名其妙就被itranslate 骗了248,还不能取消,关键是扣了钱还不能用,坑死,怎么去投诉? 天天睡觉都做梦,梦醒了又什么都不记得,这都不是重点,关键是每天好累了睡下去,就做梦,搞得人越睡越累 你好我也下载了itranslate这个软件但是我的appstore订阅里没显示该怎么办? 每天晚上睡觉老是做梦,第二天感觉越睡越累。是怎么回事, 为什么我的微博可以更新 可是就是刷不出图片啊? 空调开制冷没有排水管子行吗 ISNP是什么意思 我家空调制热的时候水从外机里下面流出来,没有从排水管出,这是什么情况呢,望解答 IS-LM-BP中BP具体指的是什么,英文全称是什么? 余额宝里有买卖灵活,月度理财,年度精选是啥意思? 服装中bp点是什么意思? 梧桐理财的精选模式到底是什么? 空调没有排水管会不会影响降温 什么是IS-LM-BP曲线 懒财主的精选理财系列产品如何? 咨询大家空调没有安装排水管在什么地方排水 百度理财的百发精选?这个理财产品是怎么样的?我不明白 请解释IS-LM-BP模型 懒财主的精选理财系列产品怎么样? Basis Point (BP)是什么意思? ISBN 什么意思 浦发银行星辰系列之全球精选理财计划怎样 在is-lm-bp模型中,本币贬值会产生怎样的变化 透析报销人寿保险新农合二次报销多少