Mysql和Oracle实现序列自增

article/2025/9/21 5:45:35

/*ORACLE设置自增序列

oracle本身不支持如mysql的AUTO_INCREMENT自增方式,我们可以用序列加触发器的形式实现,

假如有一个表 T_WORKMATES,我们需要让学号PNO自增*/

--创建序列 SEQ_PNO

CREATE SEQUENCE SEQ_PNO

minvalue 1 --最小值为1

nomaxvalue --不设置最大值

START WITH 1 --从1开始计数

INCREMENT BY 1 --每次加1个

nocycle --一直累加,不循环

nocache;--不建缓冲区

--创建触发器TRI_PNO

CREATE

OR REPLACE TRIGGER TRI_PNO

  BEFORE INSERT ON T_WORKMATES REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW

BEGIN

SELECT

SEQ_PNO.NEXTVAL INTO : NEW.PNO

FROM

DUAL;

END TRI_PNO;

---创建表

CREATE TABLE T_WORKMATES (

   PNO INT ,

   PNAME VARCHAR(100) NOT NULL,

   PSEX VARCHAR(40)

) ;

--插入数据

INSERT INTO T_WORKMATES (PNO,PNAME,PSEX) VALUES ('','王盼东','男' ) ;

INSERT INTO T_WORKMATES (PNO,PNAME,PSEX) VALUES ('','刘德华','男' ) ;

INSERT INTO T_WORKMATES (PNO,PNAME,PSEX) VALUES ('','巩 俐','女' ) ;

--检查数据

SELECT * FROM T_WORKMATES  ;

--删除一条数据并插入再重新检查

DELETE FROM T_WORKMATES T WHERE T.PNAME = '王盼东' ;

INSERT INTO T_WORKMATES (PNO,PNAME,PSEX) VALUES ('','王盼东','男' ) ;

SELECT * FROM T_WORKMATES  ;

 

--我们发现删除再插入其序列还是一直增加的,这个是因为我们设置的序列只有自增功能,我们删除了数据并不影响序列的自增

 /*mysql可以直接用AUTO_INCREMENT实现自增,方法如下*/

 --创建数据表,对PNO序列进行自增

CREATE TABLE IF NOT EXISTS T_WORKMATES (

   `PNO` INT UNSIGNED AUTO_INCREMENT,

   `PNAME` VARCHAR(100) NOT NULL,

   `PSEX` VARCHAR(40) NOT NULL,

   PRIMARY KEY ( `PNO` )

) ENGINE=INNODB DEFAULT CHARSET=UTF8 ;

-- 插入数据

INSERT INTO T_WORKMATES ( PNAME , PSEX) VALUES ('王盼东','男');

INSERT INTO T_WORKMATES ( PNAME , PSEX) VALUES ('刘德华','男');

INSERT INTO T_WORKMATES ( PNAME , PSEX) VALUES ('巩  俐','女');

--查询插入数据

SELECT * FROM t_workmates ;

--删除一条数据并插入再次查询

DELETE FROM  T_WORKMATES  WHERE PNAME = '刘德华' ;

INSERT INTO T_WORKMATES ( PNAME , PSEX) VALUES ('刘德华','男');

SELECT * FROM T_WORKMATES ;

 

--我们发现删除再插入其序列还是一直增加的,这个是因为我们设置的序列只有自增功能,我们删除了数据并不影响序列的自增

Mysql 创建表的时候可以用IF NOT EXISTS 去查询是否有这个数据表,oracle也没有这个功能,我们也可以通过触发器去实现,这个下次再聊


http://chatgpt.dhexx.cn/article/oGjBD4qj.shtml

相关文章

如何实现 Oracle 的自增序列,两步轻松搞定

在实际项目开发过程中,设计数据库表时经常遇到需要主键自增的场景。那如何实现Oracle的主键自增呢,这里我们记录一种最常用的方式:sequence trigger。 就是利用Oralce的序号和触发器来实现字段的自增,下面直接来看一个完整的例子…

oracle中设置表的主键字段为自增序列(实例)

oracle中设置表的主键字段为自增序列(实例) 1、首先创建一个表(如日志表) //删除库表中存在的日志表 drop table S_LOG_INFO cascade constraints; //新建日志表 create table S_LOG_INFO (PRIMARYKEY NUMBER …

oracle数据库新建表增加表序列,设置id自增

1,oracle数据库增加新表时,设置表id为自增 最小1 最大9999999999 CREATE SEQUENCE “数据库名称”.“SEQ_表名称” MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 100000014 NOCACHE NOORDER NOCYCLE 2,向数据库插入数据时&…

Oracle自增序列探秘:一篇文章教你读懂

目录 1:什么是Oracle 自增长序列 2 :创建数据-->实现自增长序列 2.1 创建序列 2.2 使用序列 3 :查询数据-->实现自增长序列 1:什么是Oracle 自增长序列 Oracle自增长序列是一种生成唯一数字的方法,可以用于创…

oracle 序列,程序中实现自增

文章目录 1. 序列作用和含义2. 序列的使用2.1 直接使用序列2.2 配合触发器隐式使用2.3 修改删除序列 1. 序列作用和含义 序列是用于生成唯一、连续序号的对象;可以是升序的,也可以是降序的; 使用create sequence语句创建序列 create sequen…

oracle自增序列

1.创建表TABLESPACETEST -- Create table create table TABLESPACETEST (contract_no VARCHAR2(100) primary key,contract_start_dt DATE,contract_end_dt DATE,loan_amt NUMBER(20,6),loan_bal NUMBER(20,6) ) tablespace SYSTEM;2.创建自增序列&…

【PWA】关于PWA的实操以及使用经验总结

关于PWA的实操以及使用经验总结 什么是PWA如何给项目加上PWA优缺点增强我们的 PWA写在后面 关于标题的说明: 实操: 实际操作 PWA : Progressive Web App 什么是PWA PWA 是渐进式 Web 应用, 类似于原生 App 的体验。 当我们在手机…

为什么 PWA 还没有“干掉”原生应用?

摘要:PWA 即渐进式网页应用,是 Web 应用的一种,具有安全、渐进式、响应式、无需网络、类应用程序、保持最新、可检测、可重新接入、可安装、可分享这 10 个要素,但 PWA 至今仍没有成为应用的默认格式。 原文链接:https…

PWA入门:手把手教你制作一个PWA应用

摘要: PWA图文教程 原文:PWA入门:手把手教你制作一个PWA应用作者:MudOnTire Fundebug经授权转载,版权归原作者所有。 简介 Web前端的同学是否想过学习app开发,以弥补自己移动端能力的不足?但…

PWA 即将终结应用程序商店!

渐进式Web应用很快就会将用户从Google Play和iOS应用商店中解放出来。 作者 | Owen Williams 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 苹果和Google将产品统统锁在了他们的应用商店,现在就让我们来摧毁这…

【PWA学习】1. 初识 PWA

什么是PWA PWA(Progressive Web Apps,渐进式 Web 应用)运用现代的 Web API 以及传统的渐进式增强策略来创建跨平台 Web 应用程序。这些应用无处不在、功能丰富,使其具有与原生应用相同的用户体验优势 我们需要理解的是,PWA 不是某一项技术&am…

搭建BWAPP靶场(详细过程)

靶场介绍 bwapp是一款非常好用的漏洞演示平台,目的是帮助网络安全爱好者、开发人员和学生发现并防止网络漏洞。包含有100多个漏洞,涵盖了所有主要的已知Web漏洞,包括OWASP Top10安全风险,最重要的是已经包含了OpenSSL和ShellShoc…

PWA的探索与应用

本文由云社区发表 PWA(Progressive Web App)起源背景 传统的Web网页存在以下几个问题: 进入一个页面必须要记住它的url或者加入书签,入口不便捷;没网络就没响应,不具备离线能力;不像APP一样能…

PWA 应用列表及常用工具

引言 在做 PWA 的过程中自己写了一些相关的应用和工具,在这里整合下,方便记录及查找使用。 应用列表 PWA 支持检测工具番茄钟二维码生成新闻应用身体数据统计应用支付宝集福应用田英章书法字典应用抖音无水印下载应用很好用的备忘录精神氮泵 PWA 支持检…

【技术】PWA实践 - 应用激活与安装

文章目录 你能用这项技术做什么?适合人群你可以学到什么 应用激活与安装激活与安装Manifest注意 Service WorkerStorage 管理应用 Demo本章参考资料 你能用这项技术做什么? 使用PWA能让你的web网页在支持使用最新版本Chome浏览器的桌面端(wi…

正确使用PWA

作为一个前端程序员,在没有任何Android/IOS的开发情况下,想想我们有多少种方法来开发一个原生移动应用程序!我们可以有非原生、混合开发,PWA等等手段。类似uniapp,Reactive native为我们提供了更简便的手段&#xff01…

PWA应用入个门

文章目录 什么是PWA应用核心技术清单如何添加PWA应用到手机苹果手机:安卓手机: PWA应用VS微信小程序参考资料 什么是PWA应用 PWA(Progressive Web App)是一种理念,使用多种技术来增强web app的功能,可以让网站的体验变得更好&…

什么是 PWA?有什么用?送三本《PWA入门与实践》!

很高兴受到《PWA入门与实践》作者王乐平老师的邀请,为这本书写推荐语。 下面我们就听听作者王老师带你快速玩转 PWA 吧! 文末有给各位粉丝的福利!抽奖送出三本《PWA入门与实践》。 导读:如今,互联网大流量早已进入了移…

关于PWA的各种问题

目录 前言 PWA的简单了解和需求 项目manifest.json和sw的无脑生成神器 安装 注册 动态配置manifest.json IOS无法获取webpack-pwa-manifest中配置的icon 来自因为需求而产生的静态manifest.json的坑 前言 — 以下结论和方法均为个人摸索,涵盖从度娘那儿找到…

PWA 概念及核心功能的基本介绍

目录 一. PWA 概念介绍 1.1 什么是 PWA? 1.2 为什么会出现 PWA? 1.3 如何判断一个 web 应用是 PWA? 二. PWA 核心功能 2.1 何谓 Service Worker 2.2 注册 Service Worker 2.3 Service Worker 常用事件 2.3.1 install 2.3.2 fetch 2.4 Manife…