如何得到插入后自增长的主键值?

dwei 2003-07-31 11:01:16
在SQL Server中可以@@IDENTITY,
得到插入数据后,表的自增长主键值,
那么在DB2中用什么语句实现这个功能啊?
谢谢!

^_^
...全文
143 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
db2boy 2003-08-06
  • 打赏
  • 举报
回复
在命令中心中插入了记录后,执行VALUES IDENTITY_VAL_LOCAL(),就可以得到。
要想在sql里面用可以INSERT INTO Table1 (C2) VALUES (IDENTITY_VAL_LOCAL())
dwei 2003-08-06
  • 打赏
  • 举报
回复
命令中心里怎么写SQL语句啊,
我不懂,谢谢db2boy。

^_^
db2boy 2003-07-31
  • 打赏
  • 举报
回复
用indentity列
CREATE TABLE table (col1 INT,
col2 DOUBLE,
col3 INT NOT NULL GENERATED ALWAYS AS IDENTITY
(START WITH 100, INCREMENT BY 5))
db2boy 2003-07-31
  • 打赏
  • 举报
回复
用IDENTITY_VAL_LOCAL()标量函数
dwei 2003-07-31
  • 打赏
  • 举报
回复
不是如何用语句定义一个列为自动增长,误解了。
我已经定义一个表,其中一列为主键,并且是自动增长的,
如果我插入一条记录,则这条记录的主键值是数据库给的,
我怎么取出来,不用复杂的条件查询语句,
就如微软的@@IDENTITY。
不要告诉我用取最大值(MAX)的方法,并发时不可靠。

^_^
lingyunfeipu 2003-07-31
  • 打赏
  • 举报
回复
CREATE TABLE "USERID "."GROUPS" (
"NID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH +1 , INCREMENT BY +1 , NO CACHE ) ,
"PID" INTEGER NOT NULL WITH DEFAULT 0,
"LVL" INTEGER NOT NULL WITH DEFAULT 0,
"NAME" VARCHAR(30) ,
"REMARK" VARCHAR(30) ,
"DEPARTMENT" VARCHAR(30) )
IN "USERSPACE1" ;

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧