Oracle一次获取多个序列值
创始人
2024-03-25 21:37:06
0

Oracle一次获取多个序列值

  • SQL 语句一次获取多个序列值
    • 获取序列中的多个值
    • connect by level 生成多行数据
  • JDBC 一次获取多个序列值
  • MyBatis 一次获取多个序列值

SQL 语句一次获取多个序列值

获取序列中的多个值

创建序列

CREATE SEQUENCE test_user_seq;

获取一个序列值

SELECT test_user_seq.nextval FROM dual;

在这里插入图片描述
有一个比较传统的方法构造多行数据,就是使用union all

SELECT 1 FROM DUAL
UNION ALL
SELECT 1 FROM DUAL

在这里插入图片描述
生成多行数据的方法有了,那么一次生成多个序列的方法也有了

SELECT test_user_seq.nextval 
FROM (
SELECT 1 FROM DUAL
UNION ALL
SELECT 1 FROM DUAL)

在这里插入图片描述
综上所述,一次获取多个序列值需要生成多行数据

connect by level 生成多行数据

union all 生成多行数据这个方法,性能比较差,当需要的序列比较多的时候,SQL 比较长,数据库解析SQL 耗时也多,而且还需要拼接sql, 使用
connect by level 生成多行数据就比较方便

select level from dual connect by level <= 5;

在这里插入图片描述
一次生成了5行数据,那么就可以用这个方式,获取5个序列值

SELECT test_user_seq.nextval FROM (
select level from dual connect by level <= 5
);

在这里插入图片描述
需要生成几个序列值,修改一下 level 的数量就可以,非常简洁

JDBC 一次获取多个序列值

MyBatis 一次获取多个序列值

相关内容

热门资讯

每周股票复盘:蓝科高新(601... 截至2025年12月26日收盘,蓝科高新(601798)报收于8.99元,较上周的8.98元上涨0....
每周股票复盘:红豆股份(600... 截至2025年12月26日收盘,红豆股份(600400)报收于2.42元,较上周的2.5元下跌3.2...
每周股票复盘:金证股份(600... 截至2025年12月26日收盘,金证股份(600446)报收于15.75元,较上周的15.46元上涨...
每周股票复盘:日盈电子(603... 截至2025年12月26日收盘,日盈电子(603286)报收于59.5元,较上周的57.11元上涨4...
每周股票复盘:盐 田 港(00... 截至2025年12月26日收盘,盐 田 港(000088)报收于4.53元,较上周的4.52元上涨0...
每周股票复盘:广电网络(600... 截至2025年12月26日收盘,广电网络(600831)报收于4.2元,较上周的4.36元下跌3.6...
每周股票复盘:新疆火炬(603... 截至2025年12月26日收盘,新疆火炬(603080)报收于22.85元,较上周的22.73元上涨...
每周股票复盘:瀚川智能(688... 截至2025年12月26日收盘,瀚川智能(688022)报收于15.3元,较上周的14.42元上涨6...
每周股票复盘:中粮糖业(600... 截至2025年12月26日收盘,中粮糖业(600737)报收于17.27元,较上周的17.18元上涨...
每周股票复盘:马钢股份(600... 截至2025年12月26日收盘,马钢股份(600808)报收于4.22元,较上周的3.82元上涨10...