Oracle 设置主键自增长
2024-08-23 09:32:43
如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现。不过对于这个数据库的常用功能,我们还是有办法实现的。这里将展示使用触发器来实现主键自增。
1.准备
创建UserInfo表,结构如下:
CREATE TABLE UserInfo
(
id NUMBER(10) NOT NULL,
username VARCHAR2(15) NOT NULL,
password VARCHAR2(15) NOT NULL,
CONSTRAINTS PF_UserInfo PRIMARY KEY(id) --创建主键约束
);
创建一个用于自增的序列(requence)
CREATE SEQUENCE Tab_UserInfo_Sequence
START WITH 1
MINVALUE 1
MAXVALUE 999999999
INCREMENT BY 1
CACHE 20;
2.触发器
CREATE OR REPLACE TRIGGER Tig_UserInfo_Insert
BEFORE INSERT ON UserInfo --插入动作触发器
FOR EACH ROW WHEN(new.id IS NULL) --id值为null时触发
BEGIN
select Tab_UserInfo_Sequence.nextval into :new.id from dual; --插入序列值到id值
END;
3.测试用例
INSERT INTO UserInfo(username, password) VALUES('aaa', '111');
INSERT INTO UserInfo(username, password) VALUES('bbb', '222');
INSERT INTO UserInfo(username, password) VALUES('ccc', '333');
查看表数据,结果如下:
4.END
至此,使用触发器设置主键自增已完成。
最新文章
- knockoutJS学习笔记02:jsRender模板引擎
- vim使用总结
- iOS上获得MAC地址
- 总结iframe高度自适应,自适应子页面高度
- python之--条件判断和循环
- [javascript]event属性
- Cocos2d-x CCProgressTimer
- ZOJ 1204 一个集合能组成多少个等式
- 数据处理包dplyr的函数
- 三、编辑 Update set
- 我的Windows日常——炫酷的windows组件命令行打开方式
- 使用jquery移除前面通过onclick绑定的元素的事件,然后重新绑定别的函数来执行onclick事件。
- BZOJ-9-3295: [Cqoi2011]动态逆序对
- java国际化
- Pycharm的激活码,亲测可用(20181223)
- Unity RGBA16 + Dither
- 初识github之注册和基本概念
- Flume的基本概念
- vue2.0-组件传值
- 【LLVM笔记】0x00 初识LLVM 链接类型
热门文章
- 在Python中,如何用一行代码去判定整数二进制中的连续 1
- Visual Studio 2019社区版:错误 MSB6006 “CL.exe”已退出,代码为 2
- 使用Parallel计算目录中的文件字节长度
- 牛客小白月赛12 I	华华和月月逛公园 (tarjian 求桥)
- elk快速入门-filebeat
- 《编译原理》控制流语句 if 和 while 语句的翻译 - 例题解析
- 今日理解之js
- nginx 缓存,大文件分片请求方法
- Oracle之:Function :getdate()
- PPM / PGM / PBM 图像文件格式[转]