简介:
在操作数据库的时候,需要在插入数据时,需要序号自增,这时我们可以先写一个序列,然后创建触发器,在数据插入时,调用触发器,让序列自增。
假设没有序列,假设数据是录入的, 这个录数据的人肯定不能保证每个商品都是唯一的编码 。
示例图:
一、序列:
-- 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;
二、 触发器:
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、如何创建
2、序列+触发器都可以这样执行 , 执行完了 我去哪里找呢?
序列 示意图:
触发器 示意图: