【问题标题】:Oracle Forms Post-Query FRM-40735 and ORA-01422Oracle Forms 查询后 FRM-40735 和 ORA-01422
【发布时间】:2020-04-09 21:37:57
【问题描述】:

我想显示来自不同表的项目,我正在使用POST-QUERY 触发器 :

SELECT Stock_code
  INTO :exchange.stockcode
  FROM Exchange_Stock
 WHERE Exchange_code = :exchange.Exchange_code;

它提出了FRM-40735ORA-01422 但它显示了一些记录(不是全部), 我不知道出了什么问题

【问题讨论】:

    标签: oracle oracleforms eventtrigger ora-01422


    【解决方案1】:

    很可能POST-QUERY 触发器会在填充了多条记录的基于表的块的字段之后触发。显然Exchange_code 的值在整个表数据中不是唯一的,而SELECT .. INTO .. FROM ... 子句只能带来一条记录。

    因此,您可以尝试过滤掉结果,以便为每个参数字段组合(例如 :exchange.Exchange_code:exchange.code_order)获取单行,而不是 WHERE 条件中的仅 :exchange.Exchange_code 字段:

    SELECT Stock_code
      INTO :exchange.stockcode
      FROM Exchange_Stock
     WHERE Exchange_code = :exchange.Exchange_code
       AND code_order = :exchange.code_order;
    

    重要的是从查询匹配数据块中的每条记录中获取单行。如果尚未提供此条件,您仍然可以向查询添加更多条件。

    【讨论】:

      猜你喜欢
      • 2022-01-26
      • 2012-04-16
      • 2019-08-30
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多