我正在使用此查询
SELECT NEXT VALUE FOR SEQUENCENAME1 FROM DUMMY_TABLE UNION
SELECT NEXT VALUE FOR SEQUENCENAME2 FROM DUMMY_TABLE
这不是多行的答案。 建议我解决这个问题,因为我必须检索数千个序列的下一个值
答案 0 :(得分:1)
回答您的核心问题:您可以查看SYSCAT.SEQUENCES以获取有关序列的元数据。
属性/列START和NEXTCACHEFIRSTVALUE是您感兴趣的。请注意,序列值通常是为了提高性能而缓存的,因此您需要牢记这一点。
答案 1 :(得分:0)
尝试使用UNION ALL
:
SELECT NEXT VALUE FOR SEQUENCENAME1 FROM DUMMY_TABLE UNION ALL
SELECT NEXT VALUE FOR SEQUENCENAME2 FROM DUMMY_TABLE;
如果表达式返回相同的值,那么UNION
将只返回一行 - 它会删除重复项。
答案 2 :(得分:0)
您可以使用此查询
VALUES (NEXT VALUE FOR SEQUENCENAME1)
, (NEXT VALUE FOR SEQUENCENAME2)
虽然你不知道哪一行是哪个,所以也许这个
VALUES ('SEQ1', NEXT VALUE FOR SEQUENCENAME1)
, ('SEQ2', NEXT VALUE FOR SEQUENCENAME2)