ORA-01422: 精确提取 returns 多于请求的行数)显示触发器
ORA-01422: exact fetch returns more than requested number of rows )shows for a trigger
我已经厌倦了创建这样的触发器,
但它显示此错误
此错误表明您的查询 SELECT DNAME INTO DeptName ...
returns 不止一条记录,因此无法将其结果分配给标量变量。您的查询的问题是您在 purchase
上有一个不必要的 JOIN
,因此它 returns 为刚刚完成当前销售的员工执行的每笔销售创建一条记录。
我相信您的查询可以简化如下:
SELECT d.dname INTO DeptName
FROM emp e
INNER JOIN dept d ON e.deptno = d.deptno
WHERE e.empno = :NEW.servedby;
我已经厌倦了创建这样的触发器, 但它显示此错误
此错误表明您的查询 SELECT DNAME INTO DeptName ...
returns 不止一条记录,因此无法将其结果分配给标量变量。您的查询的问题是您在 purchase
上有一个不必要的 JOIN
,因此它 returns 为刚刚完成当前销售的员工执行的每笔销售创建一条记录。
我相信您的查询可以简化如下:
SELECT d.dname INTO DeptName
FROM emp e
INNER JOIN dept d ON e.deptno = d.deptno
WHERE e.empno = :NEW.servedby;