我尝试插入新行以检查我的触发器是否有效。但它返回标题中的错误
问问题
48 次
2 回答
1
您遇到的一个大问题是您的联接写得不正确。我不知道您要做什么,但是查询的部分内容为
INNER JOIN PURCHASE
ON :NEW.SERVEDBY = P.EMPNO
如果 :NEW.SERVEDBY 恰好等于子查询返回的任何行中 EMPNO 的值,则将表中的每一行连接到子查询。如果条件匹配多次,它实际上可能会多次连接每一行。我怀疑这不是您想要的,但是由于我不知道您的表格是什么样子或您要完成的工作是什么,因此我无法建议采取的方法。PURCHASE
P
P
PURCHASE
:NEW.SERVEDBY = P.EMPNO
于 2019-10-16T02:48:30.920 回答
0
以下查询返回多条记录。
SELECT DNAME INTO DeptName FROM (SELECT * FROM DEPT INNER JOIN EMP ON
DEPT.DEPTNO = EMP.DEPTNO) P INNER JOIN PURCHASE ON :NEW.SERVEDBY =
P.EMPNO;
-- use fetch first 1 row only or row_number analytical function or rownum pseudo column
您需要将其限制为 1 条记录,因为INTO
只能记录一条记录。
干杯!!
于 2019-10-16T02:08:01.543 回答