使用oracle数据库中的关键字sequence来实现目的。
//创建mySeq
create sequence mySeq
start with 1
increment by 2
maxvalue 40
minvalue 1
cycle
//创建用户表
create table USER
(
Id int,
CompName varchar2(20)
)
插入语句可以这样写:
insert into USER values(mySeq.nextVal,'AA')
这样的话每次插入的ID就是自动递增的
扩展资料:
sequence用法:
create sequence <序列名称>
start with <起始数>
increment by <增长量>
[maxvalue 值]
[minvalue 值]
[cycle 当到达最大值的时候,将继续从头开始]
[Nocycle -- 一直累加,不循环]
[Cache ]
参考资料:百度百科-oraclesequence
主键一般要设置成自增。所谓自增,就是在插入的时候,该字段不需要赋值,会自动+1;
如果我的表有id,name两个字段,id自增。插入的时候只需这样:
insert
into
tablename(name)
values('zhangsan')//id会自动有值
如果你没有自增,那就要指明字段了:
insert
into
tablename(id,name)
values(1,'zhangsan')//id不会自动有值
创建表格的时候将主键设定为IDENTITY
CREATE TABLE Test(
Id INT PRIMARY KEY IDENTITY,
Value NVARCHAR(128) NOT NULL
)
插入数据的时候,不要给主键赋值,主键会自动增长
INSERT INTO Test VALUES('Value1')INSERT INTO Test VALUES('Value2')
数据表中的数据为:
Id Value
1 Value1
2 Value2
当然,如果你不希望Id从1开始,或者希望每条记录之间的增量不为1,你可以这样来创建你的表格:
CREATE TABLE Test(
Id INT PRIMARY KEY IDENTITY(10000,2),
Value NVARCHAR(128) NOT NULL
)
这样,你的表格中的第一条记录的Id就是10000,而每次增加一条记录,Id的增量为2.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)