我对此非常疯狂.我正在写一个触发器来改变一些日期.为此我想得到一个变量的最大值,如下所示:
SELECT date INTO datevar
FROM table
WHERE date = (SELECT MAX(date)
FROM table
WHERE condition = loop.condition);
Run Code Online (Sandbox Code Playgroud)
触发器总是在此查询的行上抛出ORA-01422(返回的行太多); 但是当我在我的sqldeveloper中尝试查询(用循环值替换一个数字)时,查询工作正常,任何数据集(工作正常=只返回一行).
我尝试了不同的方法来为我的var选择最大值,但每次都是同样的问题.循环工作正常(当我使用详细日志记录运行触发器作为存储过程时,我看到循环行ID和所有内容),但它始终以所述错误开始而不写入数据库.
我也在网上搜索,但我没有找到任何东西.我很欣赏任何想法.