oracle用sys账号导入【oracle11g自增主键】

oracle的自增主键需要用序列和触发器来实现, 我们首先创建一张表:主键为int,实现自增

createtableTEST(ID intPRIMARYKEY,test1 varchar2(20),test2 varchar2(20),test3 varchar2(20) )

创建一个序列:

create sequence SEQ_TESTminvalue 1 --最小值maxvalue 999999999999999999999999999 --最大值start with 1 ---从1开始increment by 1 ---每次加1nocycle --一直累加,不循环 nocache;

创建一个触发器实现数据插入时主键自增:

CREATE OR REPLACE TRIGGER tg_test//test表名,id主键名,seq_test.nextval序列BEFORE INSERT ON test FOR EACH ROW WHEN (new.id is null)begin select seq_test.nextval into:new.id from dual;end;

可以看出当插入数据主键为空时,会使用序列产生自增主键

//------------------触发器样式CREATE OR REPLACE TRIGGER TRI_SCORoracle账号EBEFORE INSERT OR UPDATE ON XUANKEFOR EACH ROWBEGIN//如果score为空,则令score=0IF :new.SCORE IS NULL THEN :new.SCORE:= 0;END IF;END;

 

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。