问题标签 [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.
java - 可以使用 Postgres 序列和 Hibernate 映射制作可查询的计数器吗?
运行此查询时出现“节点没有数据类型”错误:
我知道这意味着我需要使它成为一个类的属性,但是我还没有找到一种方法来将一个序列添加到一个类中,只有如何让一个序列为一个类生成 ID。
有没有办法在不是 ID 生成器的 Hibernate 映射中包含序列?
java - 使用 HQL 管理序列
TLDR:有没有一种方法可以使用纯 Hibernate 或 Spring 来管理关系数据库中的序列?
我正在用java编写一个需要创建和获取序列的下一个值的库。我不能使用本机 sql,因为数据库可以是 Oracle、H2 或 Postgresql。我认为 hql 将是最好的答案,因为它不依赖于数据库类型。
感谢您的任何帮助!
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)"
oracle - 数据库序列——Oracle Golden Gate 双向复制
我有一个运行良好的金门双向复制设置,
但我希望在两个站点上创建 ODD-EVEN 分布中的数据库序列,如下所述 --- http://www.dba-oracle.com/t_goldengate_sequences.htm
示例:
说当前序列如下所示......我可以删除并重新创建它们,会有任何影响吗?
注意:我的疑问是我是否需要担心当前 val、下一个序列等……或者只是简单地删除所有 DB 模式的序列并在站点 A 上重新创建所有 ODD 并在站点 B 上重新创建所有这些 ODD。
是否会有任何影响,如果有,会产生什么影响以及在这种情况下如何处理序列。
在两个站点上创建奇偶数分布以处理现有数据库序列的任何更好的 SQL 命令和步骤都会有所帮助。
postgresql - 在 PostgreSQL 中使用单个序列生成器是不是一个坏主意?
sequence
这是一个关于 PostgreSQL性能的通用问题,因为在选择使用一个而不是每个表时,它们是否可能成为高写入并发数据库的瓶颈。
我概述了性能和瓶颈,因为我完全知道 PostgreSQL 序列是安全的,正如在其他地方和 PostgreSQL 中解释的那样:在恶劣的多用户环境中使用 SELECT nextval 生成器线程安全吗?. 另外,我不介意序列可能产生的漏洞。
我有许多表(< 60),每个表都有自己的代理主键id
,声明为
大多数包含公共实体的表都由共享通用表的子集详细说明。例如,表如product
、或由 table 详细说明category
,它包含应用程序上不同语言的公共对象的所有 varchars。post
user
text
由于id
所有这些公共实体的列可能具有相同的值,因此我必须使用该对
唯一地引用text
它详细描述的公共实体。
很明显,id
与来自单个序列的具有唯一值的列相比,我可以object_type
从所有共享表和应用程序的 SQL 代码中删除列。它还将简化(有望加速)共享表上的索引。
当我计划增加共享表的数量时,我的问题是序列生成器如何在高写入并发上执行。insert into
当许多并发尝试发出时,单个序列生成器会成为瓶颈nextval
吗?每张桌子留一个会更好吗?
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
任何建议如何避免该错误?谢谢!!!!
sql - 创建触发器和序列以创建新的主键
如何编写序列并在插入表时触发将检查 ID 属性(和 INTEGER)是否为空。
如果为空,则应从 1 向上递增,检查值本身是否已经是主键,如果不是,则应将其用作要插入的主键。
否则,如果 id 不为空,则应更新给定 id 处的行
到目前为止我有这个,但不确定
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 ...
。
我应该授予不同的权限来设置生成器,还是我在这里没有使用正确的语法?