我可以定义此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
但不是在其他列方面。因此,您将不得不使用其他解决方案。