问题标签 [database-sequence]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1338 浏览

postgresql - postgreSQL:主键不是从 1 开始

我使用查询在 DB 表中创建了一个名为 t_id 的主键 t_id SERIAL PRIMARY KEY。第一次,它从 1 开始很好。然后我删除了所有数据,从那时起,它从 2 开始,即使我将它设置为 1。

这是我在 seq - definition on pgAdmin4 上所做的截图:

在此处输入图像描述

任何人都知道问题出在哪里?

非常感谢!!

0 投票
1 回答
60 浏览

sql - 无法使用 SQL 插入数字 - 删除整列/数字为空

我试图通过一个循环在我的数据库的列中插入一个数字作为 ID,该循环通过一个序列设置新 ID。当我尝试插入它时,该行尚未创建,或者我的号码所在的字段为空。

这仅在我尝试插入序列当前编号的值时出现。可以插入任何其他号码。id 不是主键或外键,只是一个普通字段。我尝试以几种不同的方法将其插入,例如从字段中选择它或硬编码插入脚本中的值。如果使用 sid 的值对其进行硬编码,则不会插入任何行。

我的预期结果是它在列 S_ID 中插入 SID 的数量

数据库图片:

从这里选择

在此处插入

0 投票
1 回答
142 浏览

oracle - 如何将 Oracle 序列更新/增加一千万?

我有一个(Oracle)序列,用于为插入数据库表的新订单分配订单号。它从 1 开始,每个新订单增加 1。

我有一个新要求,说订单号应该从 10000000(一千万)开始,所以我想更新所有现有记录(通过添加 10000000;订单 1 将是 10000001,订单 7002 将是 10007002 等),并且还会增加Oracle 序列,以便下一个值正确。

我打算简单地运行这个脚本:

但我真的不知道运行需要多长时间。

有一个更好的方法吗?

0 投票
2 回答
101 浏览

postgresql - 如何在 Postgresql 查询中正确使用子查询

我在尽可能自动地重置序列时遇到了麻烦。我正在尝试使用来自 phpPgAdmin 的下一个查询:

不知何故,这个查询返回:

指向第一个SELECT SETVAL

下一个查询将给出相同的错误:

谁能指出我做错了什么?

0 投票
3 回答
201 浏览

postgresql - 根据不同的列生成增量数字

我在 PostgreSQL 的表中有一个复合主键(我正在使用 pgAdmin4)

我们将这两个主键称为 productno 和 version。

version 代表productno 的版本。

因此,如果我创建一个新数据集,则需要检查具有此 productno 的数据集是否已存在。

  • 如果 productno 尚不存在,则 version 应为 (version) 1
  • 如果 productno 存在一次,那么 version 应该是 2
  • 如果 productno 存在两次,那么 version 应该是 3
    ... 等等

所以我们得到类似的东西:

我发现了一个非常相似的问题:复合主键上的自动增量

但我不能使用这个解决方案,因为 PostgreSQL 语法显然有点不同 - 所以尝试了很多函数和触发器,但找不到正确的方法。

0 投票
3 回答
272 浏览

oracle - Oracle - 如何在多个插入中回滚序列

我有一个包含多个插入的脚本(可能会失败),其中包括 nextval 作为

如果脚本失败并且我回滚插入,则序列不会回滚并且不会使用多个 id

是否有最佳实践来避免多次插入序列中的“丢失”ID?

我发现了类似的问题,但在不同的背景下

0 投票
2 回答
87 浏览

sql - Oracle - 列是否附加了序列?

这是一个一般性的问题,但是在 Oracle 数据库中,是否有一种简单的方法可以确定一个字段是否附加了序列号?这似乎应该是显而易见的,但我错过了它。

谢谢。

0 投票
2 回答
55 浏览

sql - 我尝试在表中插入查询字母数字序列,但它不起作用

我试图在 Oracle 中插入一个字母数字序列,但它不起作用。

我希望它将所有值插入表中,但错误显示值不足

0 投票
2 回答
89 浏览

postgresql - 以列为前缀的自定义渐进序列(每年)

我需要基于特定列创建自定义序列,作为前缀添加。我知道可以自定义序列以及 nextval,但我不确定是否可以使用特定表的列。

这是包含基本信息的表结构:

我想根据以下格式自动填充“seq”列,就像正常序列一样:

其中{year}_是前缀,而{sequence}是一个渐进式,每年从 1 开始。

注意id列和{sequence}元素之间没有直接关系

0 投票
1 回答
601 浏览

postgresql - postgresql中没有oracle序列的等价物是什么?

我有一个查询

这是oracle命令。

现在,我想转换成 PostgreSQL 命令。

我如何在这里替换 NO ORDER。