oracle中如何创建表的自增ID(通过序列)

摘要:
序列的值由一个特殊的Oracle程序自动生成。Oracle序列允许同时生成多个序列号。2.创建/修改序列的语法--创建序列的语法--createsequence[user.]sequence_name[incrementbyn][startwithn][maxvaluen|nomaxvalue][minvaluen|noinvalue];默认值是序列的最小值。指定序列可以生成的最大值。

1、什么是序列呢?

    序列是一数据库对象,利用它可生成唯一的整数。一般使用序列自动地生成主码值。一个序列的值是由特别的Oracle程序自动生成,因而序列避免了在运用层实现序列而引起的性能瓶颈。

Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。 当一个序列号生成时,序列是递增,独立于事务的提交或回滚。容许设计缺省序列,不需指定任何子句。该序列为上升序列

,由1开始,增量为1,没有上限。

2、创建/修改序列的语法

--创建序列的语法 --
 create sequence [user.]sequence_name
    [increment by n]
    [start with n]
    [maxvalue n | nomaxvalue]
    [minvalue n | nominvalue];
    
--修改序列的语法--
alter sequence [user.]sequence_name
    [increment by n]
    [maxvalue n | nomaxvalue]
    [minvalue n | nominvalue];

  

3、序列参数说明

 INCREMENT BY: 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
    START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
    MAXVALUE:指定序列可生成的最大值。
    NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。
    MINVALUE:指定序列的最小值。
    NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。

  

4、序列示例

--创建示例表 --
create table Student(
    stuId number(9) not null,
    stuName varchar2(20) not null,
    stuMsg varchar2(50) null
)
  
  -- 创建序列  Student_stuId_Seq --
 create sequence Student_stuId_Seq
 increment by 1
 start with 1
 minvalue 1
 maxvalue 999999999;
 
 -- 更改序列  Student_stuId_Seq--
 alter sequence Student_stuId_Seq
    increment by 2  
    minvalue 1
    maxvalue 999999999;
 
 --获取序列自增ID --
 select Student_stuId_Seq.Nextval 自增序列ID from dual;
 
 -- 删除序列 -- 
 drop sequence Student_stuId_Seq;
 
 --调用序列,插入Student数据 --
 insert into Student(stuId,Stuname) values(Student_stuId_Seq.Nextval,'张三');
 insert into Student(stuId,Stuname) values(Student_stuId_Seq.Nextval,'李四');
 --查询插入的数据 --
 select * from Student

  

5、示例结果

1)创建序列后,执行获取序列自增ID

oracle中如何创建表的自增ID(通过序列)第1张

2)修改序列后,执行获取序列自增ID

oracle中如何创建表的自增ID(通过序列)第2张

https://www.cnblogs.com/xielong/p/8950999.html

免责声明:文章转载自《oracle中如何创建表的自增ID(通过序列)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# 指定程序打开指定文件iOS性能优化之内存管理:Analyze、Leaks、Allocations的使用和案例代码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android适配-资源文件夹命名与匹配规则

Android屏幕适配-资源文件夹命名与匹配规则 说明:本文档目的为分析android工程res目录下的资源文件夹(drawable,values,layout等)在屏幕适配方面的限定与适配方法。1、 Res下文件夹命名方式1. 可用的命名属性在 文档1中的表格“Table 2. Configuration qualifier names. ”中有说明(表...

Linux终端快速检测网站是否宕机的6个方法

方法 1:使用 fping 命令检测一个网站是否宕机 fping 命令 是一个类似 ping 的程序,使用互联网控制消息协议(ICMP)的 回应请求报文echo request 来判断目标主机是否能回应。 fping 与 ping 的不同之处在于它可以并行地 ping 任意数量的主机,也可以从一个文本文件读入主机名称。 fping 发送一个 ICMP 回应...

Ubuntu desktop基本操作

2018-03-03 11:48:52 ubuntu16 lts 更换源,系统安装的时候可以跳过语言包的安装 打开software & updates应用,Other software选项页,勾选 Canonical Partners。 更改中文 打开language support应用,language页安装中文并拖动到第一位 然后重启 安装c...

一千行MySQL学习笔记

以下为本人当年初学MySQL时做的笔记,也从那时起没再更新过,但还是囊括了基本的知识点,有时还翻出来查查。是不是干货,就看亲们了~ 如果哪天笔记有更新了,我还是会更新该文章滴,其实笔记已经放到了GitHub上,只是没告诉你们而已,嚯嚯!  PHP笔记也贴出来了哈~ http://www.cnblogs.com/shockerli/p/2000-plus-l...

VC中Spin控件的使用

微调按钮设置成set buddy inter选上 然后可以(1)通过 setbuddy+setrange函数    或(2)auto buddy自动选上,只要编辑框的tab order 比微调按钮小1就可以自动了 (另转)VC中Spin控件的使用 http://leichaofu.blog.163.com/blog/static/459481820098...

postman_03_引用随机变量($guid,$timestamp,$randomInt)_and_参数引用外部文件

在接口测试中,有些接口的请求参数具有唯一性,比如注册接口,注册一个账号后就不能重复注册了。为了能重复执行这个接口,可以在请求前清理测试数据,也可以把请求的参数设置成一个可变的值(每次不一样),这样就可以每次都能注册成功了。 使用动态变量 postamn 提供可在请求中使用的动态变量: {{$guid}} :v4样式的         {{$guid}} ...