【问题标题】:FRM-40501 unable to reserve record to updateFRM-40501 无法保留要更新的记录
【发布时间】:2017-07-21 21:07:24
【问题描述】:

我创建了一个名为 groups 的表,其中包含这些列

client_id, 
course_name, 
group_number, day

主键是 (client_id, course_name) 所以每个组号可能有很多客户 我想在我的表单中进行查询,仅显示 group_number 的不同值,当我更新“day”字段时,它应该更新具有相同组号的所有行中的 day 列(对于所有客户端) 所以我使用了 from 子句查询并在其中写道: SELECT DISTINCT(GROUP_NUMBER), COURSE_NAME, DAY FROM GROUPS

当我在运行时更新此表单时,它给了我这个错误“无法保留要更新的记录”我该怎么办?

【问题讨论】:

  • 您能否在此处添加一些示例数据以使您的问题更加具体?您可能只是在寻找一个简单的更新语句,或者可能更多。
  • 好的,我的表按顺序排列了行(client_id、course_name、group_number、day),如下所示:1、'database basics'、1、'SAT'----2、'database basics', 1 , 'SAT' --- 3 , 'database basics' , 1 , 'SAT' --- 1 , 'database basics-advanced' , 2 , 'SUN' ---- 我在数据块中显示不同的值组号..我的数据按 (group_number, course_name, day) 的顺序显示,例如:1、'database basics'、'SAT'---- 2、'database basics-advanced'、'SUN' ---- 当我更新其中一个人的日期时,它给了我错误
  • 这是神谕吗? mysql?您是否将 oracle 表单链接到 mysql?我很困惑
  • 不,它只是甲骨文。我删除了mysql标签
  • 我也非常推荐您使用 OAF 来满足所有新的 UI 要求

标签: oracle oracle11g oracle-sqldeveloper oracleforms


【解决方案1】:

在多会话更新同一个数据库表的同一行的操作过程中会出现此问题。

让我们有一个名为blk_t1 的数据块(表t1 作为“查询数据源名称”)。不仅将blk_t1的“锁定模式”从“自动”设置为“延迟”,还将表单的“隔离模式”设置为“可序列化”。

它适用于多会话解决方法。

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多