我现在想在oracle中实现mysql的autoincrement的功能
网上查了下,貌似在oracle中实现起来困难的多,远没有mysql那样,只要在id列勾上autoincrement的checkbox就可以
我现在已经有复杂的方式实现了oracle的autoincrement,是参考如下资料实现的:如何在Oracle中实现类似自动增加ID的功能?
使用触发器。使用触发器
创建序列
create sequence SEQ
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 30
order. 创建表
CREATE TABLE table1
(
id NUMBER PRIMARY KEY,
username VARCHAR2(50)
).
创建触发器
CREATE OR REPLACE TRIGGER table1_tg
BEFORE INSERT ON table1 FOR EACH ROW
BEGIN
SELECT table1_seq.NEXTVAL INTO :NEW.id FROM DUAL.
END. 可上面的实现方式实在太复杂,有没有比这个方法更简单的实现方式?
网上查了下,貌似在oracle中实现起来困难的多,远没有mysql那样,只要在id列勾上autoincrement的checkbox就可以
我现在已经有复杂的方式实现了oracle的autoincrement,是参考如下资料实现的:如何在Oracle中实现类似自动增加ID的功能?
使用触发器。使用触发器
创建序列
create sequence SEQ
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 30
order. 创建表
CREATE TABLE table1
(
id NUMBER PRIMARY KEY,
username VARCHAR2(50)
).
创建触发器
CREATE OR REPLACE TRIGGER table1_tg
BEFORE INSERT ON table1 FOR EACH ROW
BEGIN
SELECT table1_seq.NEXTVAL INTO :NEW.id FROM DUAL.
END. 可上面的实现方式实在太复杂,有没有比这个方法更简单的实现方式?
只是在开发的时候麻烦点,使用的时候感觉不出来
而且这样子比较灵活,你可以主动控制编号的产生,而且可以多个表用同一个sequence