首页 > 学技术 > 技术网文 > DB2 > 正文

[精华] 关于db2的sql语句


来源 chinaunix.net 酷勤网整理

请问高手,在db2中有没有自增量?怎么建?



 sakulagi 回复于:2003-02-09 20:12:29

看一个sql reference 里面的create table的部分。好像是as identity


 大连老K 回复于:2003-02-10 09:03:38

用sequence可以吗?

创建一个sequence
create sequence seq_name start with 1 increatment by 1


使用一个序列
insert into tablename values(nextval for seq_name)


 我和我的梦 回复于:2003-02-11 09:20:27

sakulagi说的没有错,很多类型都可以这样用,你可以在控制中心建一个表试一试就知道了。


 anto 回复于:2003-02-13 15:12:09

CREATE TABLE DB2INST1.TEST ("A" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 2, INCREMENT BY 2, NO CACHE ) )


 kingsnake 回复于:2003-02-14 11:02:59

我使用这个方法了,但是在JDBC中一执行插入语句,数据库就down掉了。
INSERT INTO CUSTOMER (STATUS,OPENDATE,MOBILE,OPENTIME,CTYPE,CNO,MOBILEFLAG) 
VALUES      ('0','2003-02-14','13911682123','10:48:01','00',nextval for seq_customer,'C')


 vlife 回复于:2003-02-14 13:22:27

自增变量在insert的时候是不能直接写值的,系统会自动加入的。
特别是在导入导出的时候,自增变量不能导入数据。

其实自己用程序控制实现自增的功能更灵活点


 iwin21cn 回复于:2003-02-14 13:53:36

在Create Table的时候就建好,如auto朋友说的;但在Db2 V7.1以上才支持此功能!


 kingsnake 回复于:2003-02-14 14:00:54

那从sequence中取值的sql语句怎么写??


 kingsnake 回复于:2003-02-17 12:18:16

高手们帮帮忙。


 ddmmdd 回复于:2003-02-17 15:40:20

最苯的办法是建一个只有一行一列的数字型的表,将表中的数据进行增加。




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=11995
转载请注明作者名及原文出处



收藏本页到: