如何在DB2中建立一个值自动增加的主键啊?
谁能告诉我啊?急求用trigger实现的时候和oracle有什么不同啊?:em08::em08:
如何在DB2中建立一个值自动增加的主键啊?
不用建trigger那么麻烦,可以建一个识别字段就行了,方法如下:
create table tab(num int generated always as identity , name char(10) )
插入时只需insert into tab(default,'张三')
就行。
如何在DB2中建立一个值自动增加的主键啊?
定义识别字段是一种方法,还有一种方法是建立序号对象,如:CREATE SEQUENCE tbl_seq
START WITH 1
INCREMENT 1
NO MAXVALUE
NO CYCLE
NO CACHE
INSERT INTO tbl (seqno, nam)
VALUES ( NEXTVAL FOR tbl_seq,'张三') DB2创建表:
create table abin17(
id int not null ,
createtime timestamp default current_timestamp not null,
firstname varchar(100) default null,
lastname varchar(100) default null,
constraint pk_abin17 primary key (id)
)
DB2创建序列Sequence:
create sequence seq_abin17_id
as integer
start with 1
increment by 1
minvalue 1
maxvalue 999999
cache 20
order;
DB2创建触发器Trigger:
--TRIG_ARTICLE_ADDARTICLEFOLDER
CREATE TRIGGER TRI_abin17
NO CASCADE BEFORE INSERT ON abin17
REFERENCING NEW AS articlef
FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
DECLARE temp_id double;
SET temp_id = NEXTVAL FOR SEQ_abin17_id;
SET articlef.id = temp_id;
END;
然后插入记录:
insert into ABIN17 (firstname,lastname)values ('abin','strong');
insert into ABIN17 (firstname,lastname)values ('abin','strong');
然后看看是否主键自增:
select * from abin17
呵呵,结果是自然自增了。
自己看下,我的博客地址是:http://hi.baidu.com/stevenjohn/blog/item/5f8d81f4f30616d00b46e016.html
页:
[1]