基本上,我需要从序列中查询大约一千个NEXTVAL.我可以在一个循环中查询它们,或者我可以通过一个带有reeeeeally大表的连接来查询它们.
有没有更少的hacky方式?
UPD. 基本上,我有一个对象操作的时间表.每个对象都有一个生成的UUID或来自数据库的ID.在计算出最佳计划后,我需要将其写入DB,但表中的每个ID都来自一个序列.所以我需要查询该序列中的一些ID.问题是循环查询很慢,因为数据库离我很远,而且我不能在循环中执行数十个查询时松散几秒钟.所以我需要在一个查询中查询所有这些新ID.
a_h*_*ame 37
你可以用这个:
select your_sequence.nextval
from (
select level
from dual
connect by level < 1000
);
Run Code Online (Sandbox Code Playgroud)
Flo*_*ita 16
取决于你想用它们做什么.
如果将它们插入表中,则可以在插入查询中取消seq.nexval.(如下所述:如何使用序列值将多行插入oracle?)
如果在循环中使用它们,则可以在该循环中获取它们.
你想和他们做什么?
据我所知,您无法从序列中获取多个值.
更新: a_horse_with_no_name的aswer可以像这样改进:
select your_sequence.nextval
from dual
connect by level < 1000
Run Code Online (Sandbox Code Playgroud)
:)
| 归档时间: |
|
| 查看次数: |
27984 次 |
| 最近记录: |