0

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

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

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

4

1 回答 1

1

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

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

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

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

于 2020-04-09T23:43:54.703 回答