--创建测试表
create table msct_test
(
user_id number(10),
user_name varchar2(32)
)
/
--创建序列
CREATE SEQUENCE mscs_test
INCREMENT BY 1
START WITH 0
MINVALUE 0
MAXVALUE 100000000
NOCYCLE
NOORDER
CACHE 20
/
--创建触发器
CREATE OR REPLACE TRIGGER insert_mscs_test
BEFORE INSERT
ON msct_test
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
begin
select mscs_test.nextval into :new.user_id from dual;
end;
/
--测试数据
insert into msct_test(user_name) values( 'BuShi ');
insert into msct_test(user_name) values( 'KeLinDun ');
insert into msct_test(user_name) values( 'BillGates ');
--检查结果
SQL> select * from msct_test;
USER_ID USER_NAME
---------- --------------------------------
0 BuShi
1 KeLinDun
2 BillGates
--注意
--(1)如果你删除了其中一条或多条记录甚至所有记录,由于使用的是序列,已经使用过的ID将不会被重新使用。
Oracle创建表ID字段关联序列
最新推荐文章于 2023-04-17 10:43:50 发布