问题标签 [sequence-sql]

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 投票
1 回答
143 浏览

java - 可以使用 Postgres 序列和 Hibernate 映射制作可查询的计数器吗?

运行此查询时出现“节点没有数据类型”错误:

我知道这意味着我需要使它成为一个类的属性,但是我还没有找到一种方法来将一个序列添加到一个类中,只有如何让一个序列为一个类生成 ID。

有没有办法在不是 ID 生成器的 Hibernate 映射中包含序列?

0 投票
2 回答
207 浏览

java - 使用 HQL 管理序列

TLDR:有没有一种方法可以使用纯 Hibernate 或 Spring 来管理关系数据库中的序列?

我正在用java编写一个需要创建和获取序列的下一个值的库。我不能使用本机 sql,因为数据库可以是 Oracle、H2 或 Postgresql。我认为 hql 将是最好的答案,因为它不依赖于数据库类型。

感谢您的任何帮助!

0 投票
4 回答
910 浏览

sql - 将 SELECT MAX(`Id`) FROM Table 传递给 setval()

我想将 (SELECT MAX( Id) FROM传递给我尝试过Table的 mariadb函数:setval()

但它不起作用,我也尝试过:

我该怎么做?

编辑我在发布问题时犯了一个错误。我在第二个代码上使用了 SET 并且不工作

编辑正如我在评论中所说,我只尝试执行一次,从 Entity Framework Core 迁移执行。我最后做的是执行SELECT MAX(Id) FROM Table并从迁移代码中恢复该值,以便稍后在$"SELECT setval('sequence', {value}, true)"

0 投票
1 回答
106 浏览

oracle - 数据库序列——Oracle Golden Gate 双向复制

我有一个运行良好的金门双向复制设置,

但我希望在两个站点上创建 ODD-EVEN 分布中的数据库序列,如下所述 --- http://www.dba-oracle.com/t_goldengate_sequences.htm

示例

说当前序列如下所示......我可以删除并重新创建它们,会有任何影响吗?

注意:我的疑问是我是否需要担心当前 val、下一个序列等……或者只是简单地删除所有 DB 模式的序列并在站点 A 上重新创建所有 ODD 并在站点 B 上重新创建所有这些 ODD。

是否会有任何影响,如果有,会产生什么影响以及在这种情况下如何处理序列。

在两个站点上创建奇偶数分布以处理现有数据库序列的任何更好的 SQL 命令和步骤都会有所帮助。

0 投票
1 回答
211 浏览

postgresql - 在 PostgreSQL 中使用单个序列生成器是不是一个坏主意?

sequence 这是一个关于 PostgreSQL性能的通用问题,因为在选择使用一个而不是每个表时,它们是否可能成为高写入并发数据库的瓶颈。

我概述了性能瓶颈,因为我完全知道 PostgreSQL 序列是安全的,正如在其他地方和 PostgreSQL 中解释的那样:在恶劣的多用户环境中使用 SELECT nextval 生成器线程安全吗?. 另外,我不介意序列可能产生的漏洞。

我有许多表(< 60),每个表都有自己的代理主键id,声明为

大多数包含公共实体的表都由共享通用表的子集详细说明。例如,表如product、或由 table 详细说明category,它包含应用程序上不同语言的公共对象的所有 varchars。postusertext

由于id所有这些公共实体的列可能具有相同的值,因此我必须使用该对

唯一地引用text它详细描述的公共实体。

很明显,id与来自单个序列的具有唯一值的列相比,我可以object_type从所有共享表和应用程序的 SQL 代码中删除列。它还将简化(有望加速)共享表上的索引。

当我计划增加共享表的数量时,我的问题是序列生成器如何在高写入并发上执行。insert into当许多并发尝试发出时,单个序列生成器会成为瓶颈nextval吗?每张桌子留一个会更好吗?

0 投票
1 回答
3393 浏览

postgresql - 序列必须具有与其链接到的表相同的所有者

有以下 sql,最后一行出错,ERROR: sequence must have same owner as table it is linked to [Failed SQL: (0) ALTER SEQUENCE test_table_seq OWNED BY test_table.id

任何建议如何避免该错误?谢谢!!!!

0 投票
1 回答
56 浏览

sql - 创建触发器和序列以创建新的主键

如何编写序列并在插入表时触发将检查 ID 属性(和 INTEGER)是否为空。

如果为空,则应从 1 向上递增,检查值本身是否已经是主键,如果不是,则应将其用作要插入的主键。

否则,如果 id 不为空,则应更新给定 id 处的行

到目前为止我有这个,但不确定

0 投票
1 回答
44 浏览

permissions - 如何授权使用生成器语法

我通常不是使用 Firebird 语言的人,但我必须修复对生成器的访问才能继续工作。我的脚本中有一行:set generator order_gen to 0那行不通了。

我正在尝试:GRANT USAGE ON GENERATOR ORDER_GEN TO USER MAHE,但我仍然得到错误...no permission for ALTER access to GENERATOR ORDER_GEN ...

我应该授予不同的权限来设置生成器,还是我在这里没有使用正确的语法?