版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38570967/article/details/83651837
11g及以下的版本定义自增主键(更高版本可以直接定义autoincreatement 的主键)
CREATE TABLE collect (
ID NUMBER(10) PRIMARY KEY NOT NULL,
mobile VARCHAR2(50),
something_else VARCHAR2(50)
);
CREATE SEQUENCE collect_seq START WITH 1;
CREATE OR REPLACE TRIGGER tr_collect_id
BEFORE INSERT
ON collect
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
if(:new.id is null) then
SELECT collect_seq.nextval
INTO :new.id
FROM dual;
end if;
END;
/
ALTER TRIGGER tr_collect_id ENABLE;