我有两个表,我需要更新第二个表的值来自第一个表的基于一个公共列。更新声明与两个表-Oracle
我用下面的语句
UPDATE emp
2 SET ename = (SELECT dname
3 FROM dept
4 WHERE emp.deptno = dept.deptno)
5 WHERE EXISTS
6 (SELECT dname
7 FROM dept
8 WHERE emp.deptno = dept.deptno);
但我得到
ORA-01427 - Single row subquery returns more than one row.
你能普莱舍帮助我的错误?
你为什么更新ename with dname? – bonCodigo
除非您有两个相同编号的部门,否则不应该发生这种情况。是不是deptno部门的主要关键? – Thilo
这只是一个example.The真实查询是 更新bons_nma_in一套a.bons_incident_number = 其中存在(来自bons_outage b其中选择b.incident_number(从bons_outage b其中a.NMA_TICKET_NUMBER = b.NMA_TICKET_NUMBER选择b.incident_number) a.NMA_TICKET_NUMBER = b.NMA_TICKET_NUMBER) – user1969171