永发信息网

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

答案:2  悬赏:30  手机版
解决时间 2021-03-20 21:34
oracle数据库,主键设置为ID,插入语句时,如何自动生成ID并让它顺序增加呢
最佳答案
大体步骤:
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字段,自然就是“自动生成、顺序递增”。
追问不好意思,没有选你的为答案,你太给力了,我照楼上的弄好了,点击了选着答案,你的才弹出来了,还是很感谢你啊,真的感谢
全部回答
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;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
滚赎子是什么意思
音响大世界地址在哪,我要去那里办事
20℃时有硝酸钾饱和溶液250克和150克,现在此
混凝土屋面做卷材防水后是直接盖瓦还是铺垫砂
找一首小女孩唱的回家的歌
宁波驾驶证a2增驾a1条件
客厅的吉位
五粮液是馥郁香型的吗
为什么老觉得脑子里有个人跟自作对
2018年端午节免过路费
我要李白王者荣耀差个李白印记,谁有守约换
急求。。。会计经常要做表吗?EXCEL用得不要
济南正规换锁芯公司电话多少 位置在哪
泉芳源茶庄地址在什么地方,想过去办事
编译器和调试器有什么区别?
推荐资讯
什么是化妆品光感性皮炎
箍牙后吃什么
中午上班犯困,怎样可以提神醒脑?我不能喝咖
2012年头伏是哪天?大概是几点?
怎样在几何画板中画分段函数的图象
艺林花艺这个地址在什么地方,我要处理点事
嘉实多金嘉护(SN)10W-40和壳牌蓝壳(SL)10W-40
我在克莱蒂买的30分钻戒,换戒拖要多少钱
黑眼圈细纹用什么眼霜
求轻松搞笑,男主腹黑,女主搞笑的小白文
和女孩聊天每次问她在干嘛她都说在看电视我又
日系冰箱新机有油怎么回事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?