English 中文(简体)
5. 甲骨质体内的自动增量 缩略语
原标题:SQL Auto-Increment in Oracle APEX occasionally skips a chunk of numbers when incrementing?

我在APEX中设立了一个表格,其编号为PK,并按顺序排列:

CREATE SEQUENCE seq_increment
MINVALUE 1
START WITH 880    
INCREMENT BY 1
CACHE 10

这似乎完全可行。 问题是,有时,通常是在我上午开会并着手进入新行的时候,它会跳出一大批人。 我只关心的是,这些数字正被用作我公司的文件的识别编号,而如果这一工具使用的话,数字的丢失/跳板就是不能接受的。

这似乎跃至下一个10个数字。 i. 即,昨天,我的最后一次测试为883人,今天上午,它指定890人为下一个人数。 看看我制定顺序的法典,我注意到,我已经设定了10项价值,以便更快地处理。 难道这种藏匿点有可能被 night弃,而它正在拖走890条,因为它藏有880-889条,被丢弃?

是否有其他潜在原因和解决办法?

最佳回答

经验不会也不会产生无差距的价值观。 因此,你预计,人数有时会熟练。 当你重新使用顺序时,这是完全正常的。

如你所预见的那样,最可能的情况是,当使用APEX申请时,顺序的切身在共用池内。 您可以宣布其顺序,从而降低差距的频率,但这将降低业绩,而且不会消除差距,而只会减少差距。

问题回答

甲骨质序列从未被保证为毗连。 如果你需要一套绝对毗连的价值观,你就需要实施一种习俗解决办法。

dds是CACHE 10,这就是为什么你在此案中重新失去编号。 海滩价值是保存多少序列值以供今后使用。 补习将清除海滩,并带来10个新的价值有待收回。 同样,如果序列的使用时间不够长,则现有的一套价值可能会冲出共享库,也会导致一套新的价值被收回。

很明显,在您看来,情况并非如此,但是,由于退缩,顺序也有可能消失。 涉及一个或多个顺序的滚动后继交易抛弃了顺序价值。

某些序列号是从内部结构中的一个结构中产生的(我认为共有的集合?)。 这种行为按顺序排列。 你们的唯一保证是,它们是独特的。 如果你需要提出无差别的顺序,那么,在报告时间,你必须使用如罗敦福多科。 这样做是故意的,否则,你就不得不将所有插入一锁桌。 即便如此,如果一个插入物被击退,也就不适当地工作!





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签