Oracle的主键id自增
Oracle的主键id自增
可以直接用序列加触发器的方式实现
首先表里面要有个主键,没有的话用语句或者在编译器中加一下,都可以
然后创建一个序列,一般来说最常用的有这几个参数
CREATE SEQUENCE SEQ_a --序列名字
INCREMENT BY 1 --每次自增1,也可写非0的任何整数
START WITH 1489681 --以该值开始自增或自减
NOMAXVALUE(正常可以用MAXVALUE 1) --最大值;设置NOMAXVALUE表示无最大值
NOMINVALUE(正常可以用MINVALUE 1) --最小值;设置NOMINVALUE表示无最大值
在PL/SQL中执行完可以按住Ctrl点击名字进界面,里面有很多内容,不用多说应该也能看得懂
那个序列要怎么使用呢
直接使用,序列名字.nextval,可以直接取到自增的数值
然后就是制作一个触发器用以id的自增
create or replace trigger ins_a_certid
before insert on a /*触发条件:当向表执行插入操作时触发此触发器*/
for each row /*对每一行都检测是否触发*/
begin
/*从序列中取自增的数代替新的id*/
select SEQ_a.nextval into :new.id from dual;
end;
以上
您能读到这儿,我呢是发自真心的感谢您,若要转载,还望请您带上链接
分类:
Oracle SQL
标签:
Oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?