【发布时间】:2012-03-02 22:30:42
【问题描述】:
我的应用中有这个 SQL 脚本:
select my_seq.nextval from dual connect by level <= 100;
它工作得很好,但是一旦我(在日志中)看到它根本没有返回任何行。序列的值与最大值相差甚远。我想知道这怎么可能。
序列创建脚本:
CREATE SEQUENCE my_seq
MINVALUE 1 MAXVALUE 999999999999999999999999999
INCREMENT BY 1 START WITH 3602281
CACHE 2000 NOORDER NOCYCLE;
【问题讨论】:
-
你能发布序列创建脚本吗?另外,如果您选择
currval会怎样?你能在 SQL*Plus 中运行select并且它可以工作,它只会在你的应用程序中失败吗? -
几天前发生了错误,所以我现在无法进行任何测试。它现在正在工作。我确定这是数据库问题,但我需要一个证据来说服我的老板该应用运行良好。
-
一次获取100个序列值。
-
正如@JohnDoyle 所建议的,你能描述一下双重的吗?是 sys.dual 吗?
-
@tbone 没有明确声明,但 AFAIK 方案中没有本地 DUAL 表。