问题标签 [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 - Oracle 序列事务性
我需要一个特定的业务场景来在一个实体(不是 PK)上设置一个来自序列的数字(序列必须是 min 和 max 之间的数字)
我定义了这样的序列:
在 Java 代码中,我从这样的序列中检索数字:
我的问题是:
如果我select mySequence.nextval from dual
在一个事务中调用这个“”并且在另一个事务中同时调用相同的方法(并行请求),那么确定序列返回的值是不同的吗?
不可能像从第一笔交易中读取未提交的值吗?
因为假设我不会使用序列和一个普通表,我会在其中增加自己的序列,那么如果 trasactinalitY 是默认的“READ COMMITTED”,那么事务 2 将能够读取相同的值。
delphi - 如何使用 Delphi XE2 中的生成器在主从关系中分配外键?
举个例子:
我在火鸟中有两张桌子:
TB_CUSTOMER
- IDCUSTOMER(自动增量生成器)
- 顾客姓名
TB_PHONE
- 手机
- IDCUSTOMER(来自 TB_CUSTOMER 的外键)
- 电话
我有一个用 Delphi 开发的注册表单。表数据 TB_PHONE 使用 dbgrid 处理。我无法在 TB_PHONE 中分配字段 IDCUSTOMER 的值,因为它不是由 Firebird 生成器生成的。如何建立表之间的关系?我想在不先保存表数据 TB_CUSTOMER 的情况下实现它。我正在使用带有 IBDAC 的数据模块。
有什么建议吗?
netezza - 在 Netezza 中,我尝试在 case 语句中使用序列,但序列值不会增加
以下是使用的序列创建语法:
我有一个包含以下值记录的表:
我运行以下命令:
结果是:
我期待:
任何想法为什么在case语句中序列似乎没有超过第一个值?谢谢,金妮
c# - 实体框架代码优先和 SQL Server 2012 序列
我正在实施数据库审计跟踪,通过我的 Web API 项目中的控制器执行的 CRUD 操作将序列化新旧 poco 并存储它们的值以供以后检索(历史、回滚等)。
当我完成所有工作时,我不喜欢它在 POST 期间让我的控制器看起来如何,因为我最终不得不调用SaveChanges()
两次,一次是为了获取插入实体的 ID,然后再次提交需要知道的审计记录那个身份证。
我着手将项目(仍处于起步阶段)转换为使用序列而不是标识列。这有一个额外的好处,那就是进一步将我从 SQL Server 中抽象出来,虽然这不是一个真正的问题,但它也允许我减少提交的数量,并让我将逻辑从控制器中拉出并将其填充到我的服务层中从存储库中抽象出我的控制器,让我在这个“shim”层中像审计一样工作。
一旦Sequence
创建了对象和一个存储过程来公开它,我就创建了以下类:
它简单地提供了两种获取 ID 的方法,一个和一个范围。
在第一组单元测试中这一切都很好,但是当我开始在现实世界的场景中测试它时,我很快意识到单次调用GetNextId()
将在该上下文的生命周期内返回相同的值,直到SaveChanges()
被调用,因此否定任何真正的好处。
我不确定是否有办法绕过创建第二个上下文(不是选项)或使用老式 ADO.NET 并进行直接 SQL 调用并使用 AutoMapper 来获得相同的最终结果。这些都不吸引我,所以我希望其他人有一个想法。
oracle - 通过 slick 在 Oracle 中处理 auto inc 列
我正在使用光滑的 2.1.0。Oracle 没有列的自动增量属性的概念,所以我如何使用序列通过 slick 管理插入。例如,我有一个表格和序列如下:
如何使用此序列来设置我的 USER_ID?
在 Slicks 的 SourceCodeGenerator 中设置 autoIncLastAsOption = true 似乎也无济于事。我的 ID 仍然不是 Option[]。
sql - 序列已创建,但错误显示 RA-02289:序列不存在
我在 ORACLE 10g 数据库中创建了一个序列
我在数据库中也有一个表来使用这个序列
但是当使用在表中插入值时
它给出以下错误
ORA-02289: 序列不存在
我应该怎么做才能使用我的序列将数据插入到我的表中。如果我不使用序列插入命令可以完美地工作。
sequence-sql - 序列值存储在 Oracle 中的什么位置?
在 oracle 中处理序列时,我们可能会对这些序列值的存储位置感到困惑。所以这就是答案。
php - 为每个客户创建序列
我正在努力改进一个旧的 PHP 项目。
对于那个项目,我们在 postgresql 数据库中有一个 Client 表。
每个客户端在数据库中有两个序列。
以前,每当我们有一个新的客户端时,开发团队都必须将客户端插入到客户端表中并创建两个序列。
现在我希望 DEV 团队不要在数据库中插入客户端,我想提供一个工具让“业务人员”插入它们。
第一个要求是,PHP 代码不应创建序列。
我在想的是创建一个每次在客户端表中插入客户端后触发的数据库函数。
第一个序列用于计算为该客户端生成的收据。第二个序列是文件的标识符,应该在第三方软件中导入。
我的问题是:你的意见是什么?还有另一种方法可以提供相同的功能(有两个“序列”,并逐个递增值)而不在数据库中创建这些序列?
postgresql - 在 Postgresql 中,序列号设置为从 1 开始,但实际上返回的是 id 为 2 的新记录?
使用setval('sequence',1)
将序列的起始值设置为 1。但是当插入记录时,第一个“序列”编号实际上是 2。
如何让实际的第一条记录的序列号为 1?
database - oracle 中的标识列更改为无
我已经处理这个问题一段时间了。我有一个表,其中有一列用作 ID,我需要一系列数字来识别每个数字。所以我在 Oracle 11g 中使用了 Identity 列功能,它工作正常,但是过了一会儿,当我插入一个新行时,我得到“ora-01400 cannot insert null into ...”错误,所以我去了并检查我的身份列是否仍然以这种方式“配置”,但事实并非如此。我不知道,我可能跳过了一步吗?
创建的序列的代码是:
这是触发器的代码:
有谁知道可能出了什么问题?我感谢您的帮助!祝你有美好的一天。