oracle数据库,主键设置为ID,插入语句时,如何自动生成ID并让它顺序增加呢

oracle数据库,主键设置为ID,插入语句时,如何自动生成ID并让它顺序增加呢,第1张

使用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.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10820728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存