oracle数据库自增主键

 
--创建自增ID,名称为:表名_字段名_SEQ
CREATE SEQUENCE ADVICE_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE;
 
 
-- 为Insert操作创建触发器,无需在SQL语句里写NEXTVAL,名称为表名_INS_TRG
CREATE OR REPLACE TRIGGER 触发器名 BEFORE INSERT ON 表名 FOR EACH ROW WHEN(NEW.ID IS NULL)
BEGIN
SELECT 序列名.NEXTVAL INTO :NEW.ID FROM DUAL;
END;

CREATE OR REPLACE TRIGGER ADVICE_INS_TRG BEFORE INSERT ON ADVICE FOR EACH ROW WHEN(NEW.ID IS NULL)
BEGIN
SELECT ADVICE_ID_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END;

-- 删除触发器
DROP TRIGGER trigger_name;

-- 查询所有触发器
Select * From user_triggers;

-- 查询所有序列
select * from user_sequences;
posted @ 2021-07-27 14:14  wtlafoxmail  阅读(43)  评论(0)    收藏  举报