ORA-01422: точная выборка возвращает больше, чем запрошенное количество строк) отображается для триггера
Я устал создавать такой триггер, но он показывает эту ошибку
1 ответ
Решение
Эта ошибка указывает на то, что ваш запрос SELECT DNAME INTO DeptName ...
возвращает более одной записи, поэтому его результат не может быть назначен скалярной переменной. Проблема с вашим запросом в том, что у вас есть ненужныйJOIN
на purchase
, поэтому он возвращает одну запись для каждой продажи, выполненной сотрудником, который только что совершил текущую продажу.
Я считаю, что ваш запрос можно упростить следующим образом:
SELECT d.dname INTO DeptName
FROM emp e
INNER JOIN dept d ON e.deptno = d.deptno
WHERE e.empno = :NEW.servedby;