数据库的序列

news/2024/11/30 13:46:16/

目录

一、序列是什么,有啥用

二、创建序列

三、查看、修改、删除序列

四、使用序列

(1)在插入语句中使用

(2)不在插入语句中使用

五、序列的实用案例——每插入1条记录就自动填充订单号(非主键列)


一、序列是什么,有啥用

1个序列是数据库生成1个对象,这个对象可以生成大量唯一数字,可以把它理解为一个唯一数字生成器。

序列生成的唯一数字,可以用来作为没设置自增长表的主键的值、不是主键但要求唯一的列(比如订单号)的值

二、创建序列

create sequence 序列名
increment by 3         -- 每次加3个(如果是-3就是每次减3)

nomaxvalue             -- 不设置最大值 

【maxvalue 99      -- 设置最大值为99】

【minvalue 1      -- 设置最小值为1】

start with 1               -- 从1开始计数    //如果不指定,默认从minvalue开始递增,从maxvalue递减
NOCYCLE               -- 不循环,一直累加
CACHE 10;             --在内存中预先创建10个序列,需要用到就先直接从缓存取,减少时间(数字越大性能越好,但占用内存也越大)

order                       -- 产生的序列值有顺序,比如:第1个序列值是1,第二个2.....

【noorder】           --无序

三、查看、修改、删除序列

查看:desc 序列名

修改:

alter sequence 序列名
maxvalue 200
cache 3;

重命名:rename 旧序列名 to 新序列名;

删除:drop sequence 序列名

四、使用序列

(1)在插入语句中使用

伪列:CURRVAL返回当前(第1次用必须先NEXTVAL生成)序列号、NEXTVAL生成并返回下一个(一个新的)序列号

create sequence student_seq nomaxvalue start with 1 NOCYCLE order;

insert into sutdent(sid,name) values(student_seq.NEXTVAL,‘王五’);

(2)不在插入语句中使用

select student_seq.NEXTVAL from dual;    //dual表是系统数据库sys下的一个虚拟表

五、序列的实用案例——每插入1条记录就自动填充订单号(非主键列)

通过触发器实现

第一步:创建序列


第二步:创建触发器

create or replace trigger 触发器名字

before insert on 订单表名

for each row

begin

select 序列名.nextval into :new.订单号列名 from dual;

end;


http://www.ppmy.cn/news/121626.html

相关文章

ASP.NET MVC学习笔记--基础1

前言: ASP.NET MVC是一种基于模型-视图-控制器(MVC)架构的Web应用程序框架,它是微软公司推出的一种Web开发框架。其主要功能包括控制器、视图、模型绑定、表单处理、身份验证和授权等方面,下面是ASP.NET MVC学习笔记的…

Zinx框架学习 - 构建最基础的Server

Zinx - V0.1 构建最基础的Server Zinx的框架结构: 整体思路: 客户端发送请求到服务器端,服务端会有一个Goroutine专门处理listenner和监听这个过程,然后有客户端连接过来之后会启动一个客户端处理Goroutine,这个Goro…

蚂蚁Ant Design组件库的免费在线资源

Ant Design(蚂蚁组件)是蚂蚁集团体验技术部经过大量项目实践和总结,逐步打磨出的一个设计系统,内含带有 React 的 UI 库。它是为企业级产品设计而创建的。Ant Design 提供了高质量的交互界面设计组件和演示。作为 UI 设计师&#…

android 平板 续航,Nexus 7成第一款续航超越iPad的Android平板

Nexus 7近来是大受好评,不管是其内部的硬件配置,还是Android 4.1系统。都让Nexus 7成为现在最有竞争力的平板电脑之一。日前《华尔街日报》著名的科技评论专家Walt Mossberg在使用过Nexus 7之后,给出了相当肉麻的评价——Nexus 7是当下最好的…

linux 超级平板电脑,Archos 5:人人都可拥有的Linux平板电脑

我并不是很期待Archos 5。令我惊讶的是,这个 令人印象深刻的是其4.8英寸800x400像素的显示屏,你可能不认为只比3.5英寸的iPod Touch或3.3英寸的微软Zune大一点点会有什么优势,但用它来看电影电视确实更爽! 它可以播放几乎所有视频…

鸿蒙手机平板,预装鸿蒙系统的华为新机正式入网,不是手机而是平板,你会购买吗...

4月份要来了,这也是华为承诺的鸿蒙系统要登场日子,而体验鸿蒙系统一部分用户则是之前的旧款机型的系统升级到鸿蒙,另外就是华为要发布系列的新机,将在出厂的时候就搭载了鸿蒙系统!那么鸿蒙真的来了你期待吗&#xff1f…

android 区分平板,加量不加价!台电首款基于Android 11的平板终上市

作为中低端平板市场的领军品牌,台电在首款5G平板发布之际,又推出了第一款基于Android 11的平板电脑—台电M40 Pro。作为台电M40的升级款,相信很多人对它的印象还是非常深刻的。毕竟,台电M40被市场誉为“千元市场的价格屠夫”&…

soundbar未来发展_后智能平板电视时代?浅谈Soundbar未来发展之路

前几年由于平板电视的出现,人们似乎一下子将所有注意力都放在视觉上了:大屏、超薄、高清、超高清、智能……等等,听觉则被忽略。直到当平板电视无论价格、性能都达到瓶颈时,"视听享受"当中的"听"又逐渐被人慢…