Oracle数据库 创建触发器和序列(上)

简介: Oracle数据库 创建触发器和序列

简介:


    在操作数据库的时候,需要在插入数据时,需要序号自增,这时我们可以先写一个序列,然后创建触发器,在数据插入时,调用触发器,让序列自增。

假设没有序列,假设数据是录入的, 这个录数据的人肯定不能保证每个商品都是唯一的编码 。

示例图:

be42e652b4ea48d3bc462e9196f3682e.png

一、序列:

-- Create sequence 
create sequence CRM_SEQ_CUSTOM_CABINETS_ID //序列名称 CRM_SEQ_CUSTOM_CABINETS_ID 
minvalue 1001
maxvalue 9999999999999999999999999
start with 10001
increment by 1
cache 20;

image.png

二、 触发器:

CREATE OR REPLACE TRIGGER CRM_SEQ_CUSTOM_CABINETS_TOUCH //触发器名称 CRM_SEQ_CUSTOM_CABINETS_TOUCH 
  before insert on custom_cabinets //要触发的表 custom_cabinets 
  for each row
declare
  -- local variables here
begin
  select CRM_SEQ_CUSTOM_CABINETS_ID.Nextval into :new.CABINETS_THREE_CODE from dual; //触发的表字段 CABINETS_THREE_CODE
end CRM_SEQ_CUSTOM_CABINETS_TOUCH;

触发器也可以加判断:    

       判断此字段是否为空,如果为空,则调用序列。

CREATE OR REPLACE TRIGGER CRM_SEQ_CUSTOM_CABINETS_TOUCH
  before insert on custom_cabinets
  for each row
declare
  -- local variables here
begin
 IF :NEW.CABINETS_THREE_CODE IS NULL THEN 
   select CRM_SEQ_CUSTOM_CABINETS_ID.Nextval into :new.CABINETS_THREE_CODE from dual;
 END IF;  
end CRM_SEQ_CUSTOM_CABINETS_TOUCH;

三、序列+触发器创建示例图:

1、如何创建

p57q4h244grpg_c6ae091897cc4b1a88ea6a7c4e47d321.png

p57q4h244grpg_990945870cf6448288857429567bd2fb.png


2、序列+触发器都可以这样执行 , 执行完了 我去哪里找呢?

序列 示意图:


p57q4h244grpg_5ab8997955b247609d1e6352ec45db78.png

触发器 示意图:

p57q4h244grpg_14f0d71d5f0b43dab2af552d106f043f.png


目录
相关文章
|
2天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之在进行Oracle数据库的全量同步时,只同步了一条数据而源表实际上包含多条数据,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用问题之连接到Oracle数据库但无法读取到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6天前
|
存储 Oracle 关系型数据库
Oracle数据库快速入门
Oracle数据库快速入门
9 0
|
7天前
|
存储 Oracle 关系型数据库
|
4天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!
|
1天前
|
关系型数据库 MySQL API
实时计算 Flink版操作报错合集之同步MySQL数据到另一个MySQL数据库,第一次同步后源表数据发生变化时目标表没有相应更新,且Web UI中看不到运行的任务,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
1天前
|
存储 弹性计算 关系型数据库
云服务器 ECS产品使用问题之安装MySQL数据库间断性无法连接,提示“数据库链接被拒绝”或“数据库链接丢失”的问题,该怎么解决
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
1天前
|
存储 关系型数据库 MySQL
关系型数据库中的MySQL
【6月更文挑战第11天】
54 4
|
2天前
|
SQL 存储 关系型数据库
深入理解MySQL:数据库管理与性能优化
第一章:MySQL基础 MySQL概述:简要介绍MySQL的历史、特点和应用领域
|
2天前
|
SQL 关系型数据库 MySQL
精通MySQL:从数据库管理到性能优化
第一章:MySQL入门 MySQL简介:了解MySQL的起源、发展历程以及在Web开发中的重要性

热门文章

最新文章