【Oracle+SQL】序列不生效的情况
问题背景
insert all into table_name (id,column1,column2,column3) values (SEQ_table_name.nextval,'123','abc','!@#') into table_name (id,column1,column2,column3) values (SEQ_table_name.nextval,'456','def','$%^') SELECT * FROM DUAL;
插入时提示主键冲突(ID为主键)
然后发现这时候SEQ_TABLE_NAME.nextval一直是同一个值
解决办法
insert into table_name (id,column1,column2,column3) SELECT SEQ_table_name.nextval,column1,column2,column3 FROM ( select '123' as column1,'abc' as column2,'!@#' as column3 FROM dual union all select '456' as column1,'def' as column2,'$%^' as column3 FROM dual union all )

浙公网安备 33010602011771号