oracle 自动增长列 的 问题...

原来我建了表中有过列编号,这个是1起始,自动增长也是1,我插入按我这个序列,他说违反唯一约束,如果我想把自动增长加进去让我接下来的编号列自动增长该怎么弄...越详细越好,... 原来我建了表中 有过 列 编号, 这个 是1起始,自动增长 也是1,我插入按我这个序列,他说违反唯一约束,如果我想把自动增长加进去 让我接下来的 编号列 自动增长 该怎么弄...越详细越好,呵呵 展开
 我来答
西门公子庆
推荐于2017-08-15 · TA获得超过1879个赞
知道小有建树答主
回答量:482
采纳率:100%
帮助的人:259万
展开全部
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; 来测试下。
每次执行都是会自增的。
TableDI
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击90步自动完成vlookup匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
TWTUSRTG
2012-02-17
知道答主
回答量:39
采纳率:0%
帮助的人:15万
展开全部
查询一下,最后一行编号是多少。重新定义一个sequence 再把start with 后面数设置到最后一行的编号,其余不变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jg_zhao
2012-02-08
知道答主
回答量:10
采纳率:0%
帮助的人:9.1万
展开全部
创建一个sequence
create sequence s_id
minvalue 1
maxvalue 999999999
start with 1
increment by 1;
在向编号列插入时使用 s_id.nextval 值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式