【发布时间】:2013-10-09 01:50:36
【问题描述】:
我正在一个应用程序中工作,其中每个用户都有一个 Id,它是一个序列中的连续数字,序列并不总是相同的。
假设您有序列 A 的 nextval 设置为 8,序列 B 的 nextval 设置为 5。应用程序必须根据一组规则告诉要使用哪个序列,因此下一个条目的 id 可以是 5 或8(它不会有任何约束问题,因为主键在另一个字段中)。我想使用单个查询,例如
SELECT NEXTVAL FROM ALL_SEQUENCES WHERE SEQUENCE_NAME = "";
但我不知道这是否可能。
我不想在我的应用代码中连接序列名称,因为它破坏了我用于其余查询的模式。
【问题讨论】:
-
您需要编写一个函数来传递序列名称。然后该函数可以使用动态 SQL 来查询序列并返回值。