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

oracle利用触发器实现主键字段自增

我们都知道oracle主键自增利用的是序列sequence。我们先创建一个sequence:

1 create sequence test_sequence
2 start with 1
3 increment by 1
4 maxvalue 9999999
5 nocache

然后新建一张表,例如te_user表:

create table te_user(
user_id number(11) primary key,
user_name varchar2(50),
user_pwd varchar2(50)
)

如果不用trigger的话,我们插入数据是用到了sequence的nextval属性,例如:

insert into te_user values(test_sequence.nextval,'张三','123456')
或者
insertinto te_user(user_id,user_name,user_pwd) values(test_sequence.nextval,'李四','654321')

那么如果我们定义了trigger的话,就不需要每次都带入sequence来实现了,新建一个trigger来实现这一目的:

create or replace trigger test_trigger before insert
on te_user
for each row
declare
    next_user_id number;
begin
    select test_sequence into next_user_id from dual;
    :new.user_id :=next_user_id;
end test_trigger

这样每次te_user表的insert操作都会触发此触发器,我们再进行表插入时只需要:

insert into te_user(user_id,user_pwd) values ('王五','13579')

就可以了。

转载于:https://www.cnblogs.com/qinglangyijiu/p/8489129.html

相关文章:

  • 函数的重写
  • wx入门(一)
  • ZOJ 1649 Rescue BFS水题
  • Linux 性能分析的前 60 秒
  • C++继承体系下类中属性的能见度总结
  • 案例45-crm练习改写客户列表使用struts2OGNL
  • ZOJ 2913 Bus Pass BFS水题
  • 内置函数——format
  • POJ 1465 Multiple BFS
  • Jenkins之Linux和window配置区别
  • POJ Holedox Moving BFS hash判重
  • mysql5.7的安装
  • MySQL 5.7主从复制与主主复制实现细节分析
  • troubleshooting IMP-00032IMP-00008
  • 获取异常信息
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Angular6错误 Service: No provider for Renderer2
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Java 23种设计模式 之单例模式 7种实现方式
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • java中的hashCode
  • jquery ajax学习笔记
  • Linux后台研发超实用命令总结
  • MySQL主从复制读写分离及奇怪的问题
  • Redis字符串类型内部编码剖析
  • SpringBoot 实战 (三) | 配置文件详解
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • 看域名解析域名安全对SEO的影响
  • 前言-如何学习区块链
  • 如何在 Tornado 中实现 Middleware
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 终端用户监控:真实用户监控还是模拟监控?
  • ​2020 年大前端技术趋势解读
  • ![CDATA[ ]] 是什么东东
  • #ifdef 的技巧用法
  • #QT(一种朴素的计算器实现方法)
  • $L^p$ 调和函数恒为零
  • (+4)2.2UML建模图
  • (2)(2.10) LTM telemetry
  • (20050108)又读《平凡的世界》
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (翻译)terry crowley: 写给程序员
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (南京观海微电子)——I3C协议介绍
  • (强烈推荐)移动端音视频从零到上手(下)
  • (十三)Flask之特殊装饰器详解
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)Oracle 9i 数据库设计指引全集(1)
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET Core跨平台微服务学习资源