问题:在SQL Server数据库中,有自增列这个字段属性,使用起来也是很方便的。而在Oracle中却没有这个功能,该如何实现呢?

答:在Oracle中虽然没有自增列的说法,但却可以通过触发器(trigger)和序列(sequence)来模式实现。

示例:

1、建立表

create table user

(

id   number(6) not null,

name   varchar2(30)   not null primary key

)

2、建立序列SEQUENCE

create sequence user_seq increment by 1 start with 1 minvalue 1 maxvalue 9999999999999 nocache order;

语法:

CREATE SEQUENCE s_id NOMAXVALUE NOCYCLE

--INCREMENT BY 1    -- 每次加几个

--START WITH 1      -- 从1开始计数

--NOMAXVALUE        -- 不设置最大值

--NOCYCLE       -- 一直累加,不循环

--CACHE 10;     -- 缓存序列个数,有助于提高效率,但可能造成跳号

3、创建触发器创建一个基于该表的before insert 触发器,在触发器中使用刚创建的SEQUENCE。

create or replace trigger user_trigger

before insert on user

for each row

begin

select   user_seq.nextval  into:new.id from sys.dual ;

end;

下面就可以插入数据测试了。经过本人证明,上述方法是可行的。

mysql添加序列触发器_Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例...相关推荐

  1. MySQL数据库安装-Windows10为例【超级详细安装过程(每一步的截图)、检测安装是否成功、登录数据库并查看版本号、将MySQL添加到环境变量中、在命令行窗口操作数据库】

    哈哈,这是在哔哩哔哩网站上 看的 MySQL安装步骤. 我安装的时候,截截图,希望对大家 有所帮助. 链接:https://pan.baidu.com/s/1fKFQCVHMQOmbg84UyGrKB ...

  2. 【mysql基础知识】数据库中新建触发器,监控数据变化

    通过java实时查询数据库好像会影响查询效率,搜索网上资料,说最好使用数据库自己的触发器,用于监控数据库表的变化. 缺点是:触发器在数据库后台执行,维护困难,很有可能被忽略. 搜了半天资料,整理如下. ...

  3. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  4. mysql contains函数用法_Oracle 中Contains 函数的用法有哪些

    Oracle 中Contains 函数的用法有哪些 发布时间:2020-07-10 16:14:49 来源:亿速云 阅读:175 作者:Leah Oracle 中Contains 函数的用法有哪些?很 ...

  5. mysql is双竖线_oracle中的单引号和双竖线||以及q'间隔符

    单引号在 Oracle 中有三种身份: 1. 用来引用一个字符串常量,也就是界定一个字符串的开始和结束 2.转义符,对紧随其后出现的字符(单引号)进行转义 3. 表示它本身,也就是它作为一个字符串的一 ...

  6. python序列符号_Python中的文本和字节序列

    导语:本文章记录了本人在学习Python基础之数据结构篇的重点知识及个人心得,打算入门Python的朋友们可以来一起学习并交流. 本章重点: 1.了解字符字节等概念,编解码问题: 2.熟悉字符的规范化 ...

  7. java 获取mysql表的大小_oracle中查询表大小和表空间大小 JAVA

    1.查看Oracle数据库中表空间信息的工具方法: 使用oracle enterprise manager console工具,这是oracle的客户端工具,当安装oracle服务器或客户端时会自动安 ...

  8. mysql的wm_concat函数_oracle中的wm_concat 对应 MySQL 的 GROUP_CONCAT

    MySQL 的 GROUP_CONCAT见:http://www..com/appleat/archive/2012/09/03/2669033.html oracle中的wm_concat 见:ht ...

  9. mysql 联接结果集函数_Oracle 中函数如何返回结果集

    在Oracle中,用函数返回结果集有时候要用到,下面是demo: 在Oracle中,用函数返回结果集有时候要用到,,下面是demo: create or replace type t_test as ...

最新文章

  1. Postfix用户收发控制
  2. 利用dom4j取出XML文件中的数据
  3. Java黑皮书课后题第2章:2.15(几何:两点间距离)编写程序,提示用户输入两个点(x1,y1)和(x2,y2),显示两点距离
  4. TCP对应的应用层协议之FTP /SMTP / HTTP
  5. c语言第六次上机作业,C语言第五次上机作业参考答案
  6. LocalStorage与SessionStorage
  7. html中如何设置ttf,CSS怎么引用外部ttf字体?
  8. 面试官的窒息逼问:2021最全的接口测试面试题及参考答案
  9. SSM框架集合(2021)基础使用
  10. raid数据恢复案例之:服务器Raid5磁盘阵列数据恢复过程
  11. 网页设计与制作期末大作业报告——动画家宫崎骏
  12. 基于深度学习cnnrnn的中文期刊分类(完整代码+课程设计)
  13. 大数据统计分析毕业设计_大数据时代的成绩管理与数据分析 毕业设计论文
  14. 苹果手机白屏_安卓用久了卡顿 苹果用久了闪退 究竟是因为啥?
  15. 【NodeJs-5天学习】第四天存储篇① ——安装使用mysql 8.0
  16. 【洛谷】P3386 【模板】二分图最大匹配
  17. LWIP (chapter 2.01) pbuf数据包缓存
  18. PyQt5教程(八)——实现QQ登录界面(二、加载资源文件)
  19. UDP FLood拒绝服务攻击
  20. java con_java安全学习-Code-Breaking Puzzles-javacon详细分析

热门文章

  1. 基于CSE的微服务工程实践-多微服务框架演进
  2. php 请除目录下的日志文件,PHP碎码——删除除指定文件的其他文件及目录
  3. Spark之SparkSQL理论篇
  4. Android笔记 几条笔记(未实验)
  5. Android笔记 方向传感器
  6. Spyder里面好像不能用汉字
  7. python读取图片并储存为CSV文件
  8. pycharm不能输入代码或删除代码
  9. Python面向对象编程 __init__方法
  10. c++ 设置类型别名