Oracle Identity Column cycling



我可以定义此IDENT_COL以通过其他列的值从最小值重新开始吗?

即,如果tx_ref相同,则将 IDENT_COL.currentval 增加 1,否则从 1 开始。

CREATE TABLE ogun_test(
col_a       VARCHAR2(10),
col_b       VARCHAR2(10),
tx_ref      VARCHAR2(20),
ident_col   NUMBER(*,0)
GENERATED BY DEFAULT AS IDENTITY
)

您可以定义一个循环的标识:

create table t (
c1 int
generated as identity
start with 1 cycle maxvalue 2
nocache,
c2 int
);
insert into t values ( default, 0 );
insert into t values ( default, 0 );
insert into t values ( default, 0 );
select * from t;
C1     C2   
1     0 
2     0 
1     0 

但不是在其他列方面。因此,您将不得不使用其他解决方案。

相关内容

  • 没有找到相关文章

最新更新