各位:
oracle多个表要用自动增长的标识列,需要给每个表建对应的sequence吗(多个)?
我有两个表d_buslocation和d_buslocation_his,都要有标识列
分别建了两个sequence
CREATE SEQUENCE SE_ADMIN
INCREMENT BY 1
START WITH 1
NOMINVALUE
NOMAXVALUE
NOCYCLE
NOCACHE
NOORDER;
和
CREATE SEQUENCE SE_ADMIN_his
INCREMENT BY 1
START WITH 1
NOMINVALUE
NOMAXVALUE
NOCYCLE
NOCACHE
NOORDER;
和两个触发器
create or replace trigger TR_D_BUSLOCATION_ID
before insert on d_buslocation
for each row
declare
-- local variables here
begin
SELECT SE_ADMIN.NEXTVAL INTO:NEW.ID FROM DUAL;
end TR_D_BUSLOCATION_ID;create or replace trigger TR_D_BUSLOCATIONH_ID
before insert on d_buslocation_his
for each row
declare
-- local variables here
begin
SELECT SE_ADMIN_his.NEXTVAL INTO:NEW.ID FROM DUAL;
end TR_D_BUSLOCATIONH_ID;
但是现在发现两个表的标识列是相关的,即d_buslocation当前id为1,下一个id为d_buslocation_his的当前id+1
oracle多个表要用自动增长的标识列,需要给每个表建对应的sequence吗(多个)?
我有两个表d_buslocation和d_buslocation_his,都要有标识列
分别建了两个sequence
CREATE SEQUENCE SE_ADMIN
INCREMENT BY 1
START WITH 1
NOMINVALUE
NOMAXVALUE
NOCYCLE
NOCACHE
NOORDER;
和
CREATE SEQUENCE SE_ADMIN_his
INCREMENT BY 1
START WITH 1
NOMINVALUE
NOMAXVALUE
NOCYCLE
NOCACHE
NOORDER;
和两个触发器
create or replace trigger TR_D_BUSLOCATION_ID
before insert on d_buslocation
for each row
declare
-- local variables here
begin
SELECT SE_ADMIN.NEXTVAL INTO:NEW.ID FROM DUAL;
end TR_D_BUSLOCATION_ID;create or replace trigger TR_D_BUSLOCATIONH_ID
before insert on d_buslocation_his
for each row
declare
-- local variables here
begin
SELECT SE_ADMIN_his.NEXTVAL INTO:NEW.ID FROM DUAL;
end TR_D_BUSLOCATIONH_ID;
但是现在发现两个表的标识列是相关的,即d_buslocation当前id为1,下一个id为d_buslocation_his的当前id+1
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货