创建触发器,使主键ID递增

Oracle下实现数据字段自增           最近做某个系统需要使用Oracle作为数据后台,之前使用SQL-Server和MySQL都特别习惯使用系统的字增功能,让一个数据字段,通常是ID作为主键实现自增,但是发现Oracle中创建向导中根本就没有这项功能。自己想的方法是采用触发器Trigger,或者更加复杂的专门创建一个数据表用来存储index。Baidu之后得到如下答案:利用序列产生主键值。 序列(Seque 阅读详情
--创建表 

CREATE TABLE V_TEMP(ID NUMBER(10),NAME VARCHAR2(100));

SELECT * FROM V_TEMP; 
--创建序列  
CREATE SEQUENCE SEQ_ID
MINVALUE 1    --最小值
MAXVALUE 99999999   --最大值
START WITH 1    --从哪个数开始
INCREMENT BY 1  --每次加1 
CACHE 10       -- 缓存 

--创建触发器  
CREATE OR REPLACE TRIGGER TRI_ID
BEFORE INSERT  --在 INSERT 操作之前触发
ON V_TEMP      --在 V_TEMP表 INSERT 操作之前触发
FOR EACH ROW 
BEGIN 
SELECT SEQ_ID.NEXTVAL INTO:NEW.ID FROM DUAL;   --把这个唯一的序列,填写到 V_TEMP表的ID这个字段中。 
END;

--插入操作

INSERT INTO V_TEMP(NAME) values('李四');

INSERT INTO V_TEMP(NAME) values('张三');  

--查看id是否递增

SELECT * FROM  V_TEMP; 

以下是修改序列一些信息

--修改增量
ALTER SEQUENCE SEQ_ID INCREMENT BY 4; 
--修改最大值
ALTER SEQUENCE SEQ_ID MAXVALUE 8888888888888; 
--修改最小值
ALTER SEQUENCE SEQ_ID MINVALUE -222222; 
--修改缓存
ALTER SEQUENCE SEQ_ID CACHE 222222; 

oracle触发器实现主键自动增长 oracle触发器实现主键自动增长操作 立即下载

相关推荐

在SQLSERVER中通过存储过程和触发器创建主键生成器

在SQLSERVER中通过存储过程和触发器创建主键生成器的sql语句,和测试类。

MySQL数据库 触发器 trigger

触发器

eagle89的专栏 3085

PCRNet: Point Cloud Registration Network using PointNet Encoding

PCRNet算是在ModelNet40这种object-centric数据集上用deep-learning做配准最好入手的一篇文章了,整体架构涉及简洁明了,一句话描述就是简单粗暴,话不多说,直接上网络架构图: Work Flow: 首先对输入source (N×3N \times 3N×3)与template (M×3M \times 3M×3)进行PointNet操作,即MLP + max-pooling后,分别得到描述各自点云的维度为1024的global feature vector:Φ(PS).

dloading7的博客 1648

oracle实现插入数据时主键自增

在看ORACLE_PL/SQL实例精解的时候用到了student表,需要自己创建。 1  首先是建表语句 create table student ( student_id number(8) not null primary key, --主键列 first_name varchar2(50), -- 名字 last_name varchar2(5...

qq_41029075的博客 1万+

浙大数值分析lab2

最可怕的一道题,题目是这样的 Root of a Polynomial A polynomial of degree nnn has the common form as p(x)=cnxn+cn−1xn−1+⋯+c1x+c0p(x)=c_n x^n + c_{n-1} x^{n-1} + \cdots + c_1 x + c_0p(x)=c​n​​x​n​​+c​n−1​​x​

yao_zou的博客 4797

倒立摆的PLC控制(模型分析+ SCL源代码)

首先简单介绍下倒立摆模型,下面这幅图是MATLAB网站上的倒立摆模型,下面我们利用牛顿第二运动定律建立摆杆的运动方程。

RXXW_Dor的博客 3336

MySQL 中数据表 id 值 连续 且 自动增长

MySQL 事务 ;MySQL 删除一条数据时,id号自动变化

qq_56402474的博客 3384

【系统架构设计师】模拟预测试卷十 - 案例分析(完整结构)

本文为系统架构设计师考试模拟试题及参考答案,包含五个专题:质量属性(必答)、信息系统架构设计、嵌入式系统架构设计、云原生架构设计、面向服务架构设计(SOA)。试题一聚焦非功能需求与质量属性映射,如性能、可修改性、一致性等;其余选答题分别涉及分层架构设计(如嵌入式实时控制)、云原生会话管理、服务化治理(如契约设计、熔断策略)等核心架构场景,涵盖战术应用、权衡分析及解决方案设计。参考答案提供关键要点,例如离线借还的冲突解决、服务编排与共享服务的区分、嵌入式硬实时保护的必要性等,适用于备考实战演练。

数据知道的博客 252

mysql通过触发器获取数据表的操作id,MYSQL更新触发器获取更新的行ID

I have a table in MySQL which I am updating. I would like the trigger to get the updated row ID so as to do some work with it. How can I do it? I can do this in SQL Server, but I am new to MySQL and c...

weixin_39886841的博客 737

5大步骤!轻松玩转Dorisoy.Rigger:基于.NET Core 6、MAUI和Blazor的多数据库开发框架生成器

各位小伙伴,你们是否厌倦了每次项目启动都要从头配置数据库连接、编写重复的代码?今天,我们就来聊聊如何使用Dorisoy.Rigger这个强大的开发框架生成器,让你的.NET Core 6、MAUI和Blazor项目开发变得简单又高效!准备好迎接开发的新乐趣了吗?让我们一起开始吧!接下来,我们需要定义数据模型。假设我们有一个简单的用户表,包含ID、用户名和密码字段。在项目中创建一个新的类文件,命名为User.csset;set;set;这段代码定义了一个用户模型,其中包含了用户的ID、用户名和密码。

java专栏 1743

微信小程序 - 详细实现可移动悬浮按钮,全屏悬浮元素图标可拖动拖拽并自动吸附边缘,微信小程序实现悬浮球吸附边缘+计算靠边靠拢效果(详细代码,拖拽中途放手,靠左就自动跑到屏幕左侧,反之靠右跑到屏幕右侧)

微信小程序,vue2,vue3,微信小程序悬浮功能小按钮,自动吸附边缘效果,微信小程序之可拖动悬浮按钮的实现,如何实现靠近边缘自动吸住功能,小程序右下角的悬浮效果,实现可拖动悬浮图标,自动向两边靠拢,悬浮按钮的实现,微信小程序悬浮球效果,微信小程序(可拖动悬浮按钮)当靠近屏幕边缘时会磁吸靠近,如何实现全局悬浮按钮,悬浮球判断吸附在左右,全屏悬浮能拖着走,小程序怎么做悬浮图标靠近左右两侧能吸附住,悬浮菜单按钮,悬浮球可拖拽,全局悬浮球,全局悬浮框,实现悬浮按钮可拖动,自动吸附边缘效果,若按钮此时位于页面中间偏

🏆 前端领域优质创作者 1万+

使用navicat设置Oracle表中字段主键自增

一、创建表 1、lz以demo表为例,创建表语句如下: CREATE TABLE demo ( id INT NOT NULL, names VARCHAR2(40) NULL ) 2、在navicat中执行建表语句如下图: 二、设置主键 1、给表设置主键语句如下: alter table demo add constraint demo_id_pk primary key (id); 2、在navicat中给表设置主键语句如下图: 3、选中demo表,鼠标右键点击设计表可以查看表结构

小志的博客 1万+

SAP Single Sign-On 全景指南:从传统 SAP SSO 到 SAP Secure Login Service for SAP GUI 的架构、场景与迁移实践

本文系统梳理了SAP生态下的单点登录技术方案,重点分析了SAP GUI的云化替代方案SAP Secure Login Service(SLS)。内容涵盖SNC、Kerberos/SPNEGO、SAML 2.0等核心协议的技术实现,对比了传统SAP SSO与新型SLS for SAP GUI的架构差异,并给出AS ABAP系统的具体实施路径。针对SAP GUI访问、浏览器访问Fiori/移动端等不同场景,提供了详细的协议选型建议和配置指南,帮助团队构建安全可靠且适应云时代的统一认证体系。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 274

kingbase实现主键id自增

由于数据库的多样性,sql语法使用上也是会有一定的差异。 今天介绍一下kingbase中如何使主键id自增。 第一种方法: 使用数据库中自带的参数类型serial类型,即可实现主键自增,如下示例: 1、创建ord表: CREATE TABLE ord( id SERIAL, ord_no INT NOT NULL, ord_name VARCHAR(32), CONSTRAINT "ord_PKEY" PRIMARY KEY ("id") ); 2、插入几条数据: INSERT INTO "P

weixin_42505761的博客 1万+

SAP BOM批量反查代码分享

SAP BOM反查批量查询代码分享

我小时候很黑的博客 4973

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

oracle怎么实现id自增和设置主键

1、关于主键:在建表时指定primary key字句即可: create table test(   id  number(6) primary key,   name varchar2(30) ); 如果是对于已经建好的表,想增加主键约束,则类似语法: alter table test add constraint pk_id primary key(id);   其中add co

congyz的专栏 6114

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Navicat:设置Oracle数据库主键自增

Oracle数据库主键自增

sssxlxwbwz的博客 8111

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

oracle递增触发器,oracle 主键应用序列和触发器实现自动增长

这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下:create table simon_example(id number(4) not null primary key,name varchar2(25))-- 建立序列:-- Create sequencecreate sequence SIMON_SEQUENCEminvalue 1maxvalue 99999999999999...

weixin_36450655的博客 226

ORACLE 触发器实现主键自动填充

一篇:首先,你要有一张表!  CREATE TABLE example (      ID Number(4) NOT NULL PRIMARY KEY,      NAME VARCHAR(25),      PHONE VARCHAR(10),     ADDRESS VARCHAR(50) );   然后,你需要一个自定义的sequence  CREATE S

anbowing的专栏 1844

PL/SQL工具创建Oracle数据库表,实现id字段的自动递增

通过PL/SQL工具,创建Oracle数据库表,如何实现字段ID自动递增; Oracle的自增需要依靠序列和触发器共同实现 比如:先创建一个表 create table test (id int primary key, name varchar2(10)); 创建一个序列 create sequence test_seq increment by 1 start with 1  min...

u013456370的专栏 2026

为Oracle 属性为varchar的id设置主键自增

为Oracle 属性为varchar的id设置主键自增 参考文章 https://blog.youkuaiyun.com/hqh1129/article/details/81273938?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromM

weixin_42417934的博客 1021

《数据库学习》orace数据库实现自增主键和重置初始值

Oracle数据库没有像Mysql那样可以直接设置主键自增,如果要实现自增的话,可以通过序列+触发器来实现。 创建自动增长序列* tb_seq为序列名 create sequence tb_seq minvalue 1 maxvalue 99999999 -设置最大值和最小值 increment by 1 --设置步长为1 start with 1; --设置初始值为1 创建触...

tomatocc的博客 1733

Oracle定义主键自增

Oracle数据库在进行insert操作的时候 是不会自己进行主键自增的,这是和Mysql不一样的地方。需要通过触发器和序列来完成主键自增的。 1、创建序列 WJSC_id_increment -- 是序列名称 可以自定义 CREATE SEQUENCE WJSC_id_increment INCREMENT BY 1 START WITH 1 MAXVALUE 1.0E20 MINVALUE 1 NOCYCLE CACHE 20 NOORDER 2、创...

Robi_Candy的博客 848

oracle 创建表定义主键,Oracle 学习----:创建表(主键自增)

一、创建表create table testTable(Id numbere,name varchar2(100),age number,createTime date,primary key(Id))二、创建序列create sequence seq_test三、创建触发器create or replace trigger autoIdbefore insert on testTable for...

weixin_33013787的博客 2212

Oracle触发器(主键自增脚本)

create or replace trigger server_tri before insert on server for each row declare begin SELECT server_seq.Nextval INTO :NEW.id FROM DUAL; end server_tri;

小鲍侃java 688

Oracle解决主键ID自增问题触发器序列--进阶篇

Oracle触发器解决插入时ID自增问题--进阶篇第一种 序列触发器自增第二种 直接用触发器自增ID 第一种 序列触发器自增 这个是流行的做法,废话不多说直接上码: --简单介绍一下序列参数的意思 CREATE SEQUENCE sequence //创建序列名称 [INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1 ...

u013025181的博客 1224
上一篇: 安装好oracle数据库后,登录解除大小写限制
下一篇: mysql表中删除重复记录方法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值