当前位置: 首页 > news >正文

oracle不同数据库版本的自增序列

-- 查看数据库版本
SELECT * FROM v$version WHERE banner LIKE 'Oracle%';

1. Oracle 12c及以上版本支持

id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
id NUMBER GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY,
-- 语法
id NUMBER GENERATED [ALWAYS|BY DEFAULT [ON NULL]] AS IDENTITY [ (START WITH initial_value INCREMENT BY step_value) ]

这种自增列语法是从Oracle 12c开始引入的,是创建标识列(identity column)的标准方式。

NUMBER GENERATED ALWAYS AS IDENTITY 表示:

  • 总是由系统自动生成值
  • 用户不能手动指定值

2. Oracle 11g及以下版本

如果使用的是Oracle 11g或更早版本,需要使用序列(sequence)+触发器(trigger)的方式:

CREATE SEQUENCE table_seq;CREATE OR REPLACE TRIGGER table_trigger
BEFORE INSERT ON table
FOR EACH ROW
BEGINSELECT table_seq.NEXTVALINTO :NEW.idFROM DUAL;
END;

相关文章:

  • element-ui中的上传组件el-upload非自动上传监听不到success
  • go for 闭环问题【踩坑记录】
  • DeepseekV3MLP 模块
  • 快充协议芯片XSP04D支持使用一个Type-C与电脑传输数据和快充取电功能
  • 腾讯一面-软件开发实习-PC客户端开发方向
  • LX4-数据手册相关
  • CentOS 7进入救援模式——VirtualBox虚拟机
  • 23. git reset
  • unity TEngine学习4
  • 【Andorid备案获取keystore里面的公钥和SHA-1码等等】
  • 怎么发布、更新Python第三方库?以potx-cloud为例
  • PHP日志会对服务器产生哪些影响?
  • 基于DeepSeek/AI的资产测绘与威胁图谱构建
  • 华为VRP系统知识总结及案例试题
  • 【Python核心库实战指南】从数据处理到Web开发
  • TapData × 梦加速计划 | 与 AI 共舞,TapData 携 AI Ready 实时数据平台亮相加速营,企业数据基础设施现代化
  • DeepSeek赋能Nuclei:打造网络安全检测的“超级助手”
  • RHCE 练习二:通过 ssh 实现两台主机免密登录以及 nginx 服务通过多 IP 区分多网站
  • 图论-Floyd算法
  • aws服务--S3介绍使用代码集成
  • 普京呼吁乌方响应和平倡议,称将分析民用设施停火提议
  • 吸引更多开发者,上海智元发布行业首款具身智能一站式开发平台
  • 被指违反代理协议遭南航暂停售票资格, 去哪儿网:今起恢复
  • 大国重器飞天背后,有一位上海航天的“老法师”
  • “75后”新任四川泸州市委副书记张伟,已任市政府党组书记
  • 西藏艺术来到黄浦江畔,“隐秘之门”艺术展外滩三号开幕