Oracle 批量操作 SQL

insert all 中使用序列时,多次使用 SEQ_NAME.NEXTVAL 获取的是同一个值。解决方法:创建获取序列的函数即可。

创建函数:

1
2
3
4
5
create or replace function fun_seq_name return number
as
begin
return seq_name.nextval;
end;

insert all 语句:

1
2
3
4
5
insert all
into TABLE_NAME (id, name, age) values (fun_seq_name, 'aaa', 20)
into TABLE_NAME (id, name, age) values (fun_seq_name, 'bbb', 20)
into TABLE_NAME (id, name, age) values (fun_seq_name, 'ccc', 20)
select 1 from dual;

推荐链接

https://blog.csdn.net/chenleixing/article/details/45165761

https://blog.csdn.net/fukaiit/article/details/80691665

https://blog.csdn.net/yh869585771/article/details/80191157

https://blog.csdn.net/xuxurui007/article/details/7692065

https://blog.csdn.net/u012660464/article/details/75529216