永发信息网

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

答案:2  悬赏:30  手机版
解决时间 2021-03-20 21:34
  • 提问者网友:浩歌待明月
  • 2021-03-20 04:01
oracle数据库,主键设置为ID,插入语句时,如何自动生成ID并让它顺序增加呢
最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-03-20 05:15
大体步骤:
1、建表,如:表TABLE_A;(LZ应该是建好表了)
2、建sequence,如:SEQ_TABLE_A;
3、插入的Sql写法,如:"insert into TABLE_A(id) values(SEQ_TABLE_A.nextval)"

可以先去了解“sequence”。追问表已经建好,我现在是后台控制数据库,那SEQ_TABLE_A;也弄个comm么?我是后台给表插入数据,没有id信息,想让id自动增加,以防止主键出现重复问题追答1、不用加新column。

2、是自己练习吗?数据库自己可以管的吧,就加个sequence呗。

方法1:用管理工具,比如PL/SQL,在Sequence,右键,“新增”。


方法2:用Sql建Sequence
-- Create sequence 
create sequence SEQ_TABLE_A
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
3、加了Sequence,就可以用了。
关于用法,
例子1:SELECt SEQ_TABLE_A.NEXTVAL FROM DUAL T
例子2:插入Sql,INSERT INTO TABLE_A (ID) VALUES (SEQ_TABLE_A.NEXTVAL)



其实意思就是,建立了一个序列SEQ_TABLE_A,每次调用SEQ_TABLE_A.NEXTVAL的时候,序列会自动加1。
所以,拿这个SEQ_TABLE_A.NEXTVAL填到ID字段,自然就是“自动生成、顺序递增”。
追问不好意思,没有选你的为答案,你太给力了,我照楼上的弄好了,点击了选着答案,你的才弹出来了,还是很感谢你啊,真的感谢
全部回答
  • 1楼网友:猎心人
  • 2021-03-20 05:35
CREATE SEQUENCE SEQ_ID
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOMINVALUE
NOCYCLE
NOCACHE
ORDER;

INSERT INTO TABLE_NAME(ID)
VALUES(SEQ_ID.NEXTVAL);

COMMIT;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯