问题标签 [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.
sql - 无法使用 SQL 插入数字 - 删除整列/数字为空
我试图通过一个循环在我的数据库的列中插入一个数字作为 ID,该循环通过一个序列设置新 ID。当我尝试插入它时,该行尚未创建,或者我的号码所在的字段为空。
这仅在我尝试插入序列当前编号的值时出现。可以插入任何其他号码。id 不是主键或外键,只是一个普通字段。我尝试以几种不同的方法将其插入,例如从字段中选择它或硬编码插入脚本中的值。如果使用 sid 的值对其进行硬编码,则不会插入任何行。
我的预期结果是它在列 S_ID 中插入 SID 的数量
数据库图片:
oracle - 如何将 Oracle 序列更新/增加一千万?
我有一个(Oracle)序列,用于为插入数据库表的新订单分配订单号。它从 1 开始,每个新订单增加 1。
我有一个新要求,说订单号应该从 10000000(一千万)开始,所以我想更新所有现有记录(通过添加 10000000;订单 1 将是 10000001,订单 7002 将是 10007002 等),并且还会增加Oracle 序列,以便下一个值正确。
我打算简单地运行这个脚本:
但我真的不知道运行需要多长时间。
有一个更好的方法吗?
postgresql - 如何在 Postgresql 查询中正确使用子查询
我在尽可能自动地重置序列时遇到了麻烦。我正在尝试使用来自 phpPgAdmin 的下一个查询:
不知何故,这个查询返回:
指向第一个SELECT SETVAL
下一个查询将给出相同的错误:
谁能指出我做错了什么?
postgresql - 根据不同的列生成增量数字
我在 PostgreSQL 的表中有一个复合主键(我正在使用 pgAdmin4)
我们将这两个主键称为 productno 和 version。
version 代表productno 的版本。
因此,如果我创建一个新数据集,则需要检查具有此 productno 的数据集是否已存在。
- 如果 productno 尚不存在,则 version 应为 (version) 1
- 如果 productno 存在一次,那么 version 应该是 2
- 如果 productno 存在两次,那么 version 应该是 3
... 等等
所以我们得到类似的东西:
我发现了一个非常相似的问题:复合主键上的自动增量
但我不能使用这个解决方案,因为 PostgreSQL 语法显然有点不同 - 所以尝试了很多函数和触发器,但找不到正确的方法。
oracle - Oracle - 如何在多个插入中回滚序列
我有一个包含多个插入的脚本(可能会失败),其中包括 nextval 作为
如果脚本失败并且我回滚插入,则序列不会回滚并且不会使用多个 id
是否有最佳实践来避免多次插入序列中的“丢失”ID?
我发现了类似的问题,但在不同的背景下
sql - Oracle - 列是否附加了序列?
这是一个一般性的问题,但是在 Oracle 数据库中,是否有一种简单的方法可以确定一个字段是否附加了序列号?这似乎应该是显而易见的,但我错过了它。
谢谢。
sql - 我尝试在表中插入查询字母数字序列,但它不起作用
我试图在 Oracle 中插入一个字母数字序列,但它不起作用。
我希望它将所有值插入表中,但错误显示值不足。
postgresql - 以列为前缀的自定义渐进序列(每年)
我需要基于特定列创建自定义序列,作为前缀添加。我知道可以自定义序列以及 nextval,但我不确定是否可以使用特定表的列。
这是包含基本信息的表结构:
我想根据以下格式自动填充“seq”列,就像正常序列一样:
其中{year}_是前缀,而{sequence}是一个渐进式,每年从 1 开始。
注意id列和{sequence}元素之间没有直接关系
postgresql - postgresql中没有oracle序列的等价物是什么?
我有一个查询
这是oracle命令。
现在,我想转换成 PostgreSQL 命令。
我如何在这里替换 NO ORDER。