如何在oralce中建立自动增加的字段

北邙闲人 2003-07-05 09:43:39
我想在oracle中建立一个字段,使他的值能够自动加一,该怎么定义。还请各位大虾赐教。
...全文
144 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallcrocodile 2003-07-07
  • 打赏
  • 举报
回复
有好多帖子了,你搜索一下
smilefeng 2003-07-05
  • 打赏
  • 举报
回复
用序列和触发器实现!
armu80830 2003-07-05
  • 打赏
  • 举报
回复
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;

当向表中插入数据时,SQL语句写法如下;
SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
taler 2003-07-05
  • 打赏
  • 举报
回复
create sequence sequencename increment by 1 start with 1000;
引用时用sequencename.nextval
BlueskyWide 2003-07-05
  • 打赏
  • 举报
回复
几乎每天都有人问此问题,给你个参考:
http://expert.csdn.net/Expert/topic/1907/1907225.xml?temp=.1886713
http://expert.csdn.net/Expert/topic/1465/1465844.xml?temp=.8864862
qwater 2003-07-05
  • 打赏
  • 举报
回复
问个相关的问题,插入的时候自然会自动增加,可我要是用工具导入很多数据的话,这个自增加字段还要我不停地select seq_id.nextval into :new.id from dual;否则下次插入的时候就要报错了,是不是这样呢?有没有解决办法呢?
beckhambobo 2003-07-05
  • 打赏
  • 举报
回复
create sequence SEQ_ID
minvalue 1
maxvalue 99999999
start with 1
increment by 1
/

create trigger a_tri
before insert on a
for each row
as
begin
select seq_id.nextval into :new.id from dual;
end;
/
jasoncheung 2003-07-05
  • 打赏
  • 举报
回复
up
北邙闲人 2003-07-05
  • 打赏
  • 举报
回复
谢谢各位大哥大姐,小弟,小妹

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧