ORA-01422: точная выборка возвращает больше, чем запрошенное количество строк) показывает для триггера - PullRequest
1 голос
/ 05 октября 2019

Я устал создавать такой триггер, но он показывает эту ошибку

1 Ответ

0 голосов
/ 05 октября 2019

Эта ошибка указывает, что ваш запрос 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...