oracle 自动增长列 的 问题...
原来我建了表中有过列编号,这个是1起始,自动增长也是1,我插入按我这个序列,他说违反唯一约束,如果我想把自动增长加进去让我接下来的编号列自动增长该怎么弄...越详细越好,...
原来我建了表中 有过 列 编号, 这个 是1起始,自动增长 也是1,我插入按我这个序列,他说违反唯一约束,如果我想把自动增长加进去 让我接下来的 编号列 自动增长 该怎么弄...越详细越好,呵呵
展开
3个回答
展开全部
oracle 表不包含自动增长列,要用序列来实现。
-- Create sequence
create sequence SEQ_ID
minvalue 1
maxvalue 99999999
start with 1
increment by 1
cache 30
cycle;
sequence 是一个自增长的序列,每次调用nextval的时候会自动增加,可以定义起始值,最大值,增量,cycle是表示循环,即到最大值后从起始值重新开始。
insert into tab (auto_id) values (SEQ_ID.Nextval);
你可以用 select SEQ_ID.Nextval from dual; 来测试下。
每次执行都是会自增的。
-- Create sequence
create sequence SEQ_ID
minvalue 1
maxvalue 99999999
start with 1
increment by 1
cache 30
cycle;
sequence 是一个自增长的序列,每次调用nextval的时候会自动增加,可以定义起始值,最大值,增量,cycle是表示循环,即到最大值后从起始值重新开始。
insert into tab (auto_id) values (SEQ_ID.Nextval);
你可以用 select SEQ_ID.Nextval from dual; 来测试下。
每次执行都是会自增的。
TableDI
2024-07-18 广告
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击90步自动完成vlookup匹配,无需手写公式,免费使用!...
点击进入详情页
本回答由TableDI提供
展开全部
查询一下,最后一行编号是多少。重新定义一个sequence 再把start with 后面数设置到最后一行的编号,其余不变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
创建一个sequence
create sequence s_id
minvalue 1
maxvalue 999999999
start with 1
increment by 1;
在向编号列插入时使用 s_id.nextval 值
create sequence s_id
minvalue 1
maxvalue 999999999
start with 1
increment by 1;
在向编号列插入时使用 s_id.nextval 值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询