Oracle和SQLSERVER实现主键自动增长
- 一:Oracle中实现主键的默认自增长
-
主要由三步组成,1)建表;2)建立序列;3)建立触发器(目的是在表插入数据的时候启用序列生成的值),我们通过下面的例子来说明:1)建立对应的数据库表:drop table TEST;create table TEST(bsm NUMBER(10) not null,xh NUMBER(10),posx NUMBER(15,5),posy NUMBER(15,5));alter table TEST add constraint PK_TEST primary key (BSM);2)建立序列drop sequence TEST_SEQ;create sequence TEST_SEQminvalue 1maxvalue 999999999999999999start with 1increment by 1cache 20;注:建立序列,最小值为1,从1开始计数和每次递增量为1;3)建立触发器 www.2cto.comdrop trigger test_trig;CREATE OR REPLACE TRIGGER "test_trig"BEFORE INSERT ON testREFERENCING OLD AS OLD NEW AS NEW FOR EACH ROWDECLAREBEGINSELECT TEST_SEQ.NEXTVAL INTO :NEW.BSM FROM DUAL;END test_trig;通过上述三步就完成了主键自动生成的设定,以后就可以根据业务需求直接插入业务数据就可以了二:SQLSERVER中实现主键的默认自增长:通过 IDENTITY 来设置,参数有2个,一个是“初始值” 一个是“增量”。
默认情况下 INSERT 语句中,不能对 IDENTITY 的字段进行赋值。CREATE TABLE test_create_tab2 (
id INT IDENTITY(1, 1) PRIMARY KEY,
val VARCHAR(10));
posted on 2016-02-29 23:04 haoshuai1950 阅读(372) 评论(0) 收藏 举报
浙公网安备 33010602011771号