oracle 为什么没有自增字段
答案:2 悬赏:50 手机版
解决时间 2021-02-08 16:41
- 提问者网友:佞臣
- 2021-02-07 19:11
oracle 为什么没有自增字段
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-02-07 19:27
如果你需要做到的是插入数据时有个序列号自动增长,那么用SEQUENCE,先CREATE SEQUNECE,然后在INSERT的时候使用SEQNENCE_NAME.NEXTVAL就可以
全部回答
- 1楼网友:不甚了了
- 2021-02-07 20:31
oracle中叫做sequence
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、create sequence 你首先要有create sequence或者create any sequence权限, create sequence emp_sequence increment by 1 -- 每次加几个 start with 1 -- 从1开始计数 nomaxvalue -- 不设置最大值 nocycle -- 一直累加,不循环 cache 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------nocache 针对s_depart创建的sequence如下:
create sequence s_s_depart minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 nocache;一旦定义了emp_sequence,你就可以用currval,nextval currval=返回 sequence的当前值 nextval=增加sequence的值,然后返回 sequence 值 比如: emp_sequence.currval emp_sequence.nextval 可以使用sequence的地方: - 不包含子查询、snapshot、view的 select 语句 - insert语句的子查询中 - nsert语句的values中 - update 的 set中 可以看如下例子:
insert into s_depart(departid,departname,departorder)values(s_s_depart.nextval,'12345',1);我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯