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

--创建表 

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; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值