0

例如:有 3 个序列 ( seq1, seq2, seq3),我想进行一个查询,显示它们的名称和当前值?

基本语法是

select schema.seq_name.currval from dual

但是如何展示它们的价值呢?

4

2 回答 2

1

您可以使用user_sequences数据字典视图,例如

SELECT s.sequence_name, s.last_number AS curr_value
  FROM user_sequences s
 WHERE s.sequence_name IN ('SEQ1','SEQ2','SEQ3') 

只要这些序列在您当前的模式中。否则,这可能会被替换all_sequencesdba_sequences取决于情况或您的需要。

于 2021-10-11T06:05:23.407 回答
0

尽管我对你为什么需要这样做深有保留,但我还是尝试将一个 pl/sql 过程作为演示 - 部分只是为了挑战自己。当我遇到一个我认为很简单的问题时,只需要一双新的眼睛,我就在 OTN 上发帖。当他们解决我的编码问题时,一个回复总结了您的问题:

如果不调用 nextval,您将无法选择 currval。currval 是通过会话中的 nextval 函数返回上次使用的序列值的函数。

于 2021-10-13T14:43:41.503 回答