ORA-01427: 单行子查询返回多于一个行
联合查询updatelz_contaset(a.pyernm)=(selectb.banknafromccms_f401bwherea.pyerbk=b.bankcd)w...
联合查询 update lz_cont a set (a.pyernm)= (select b.bankna from ccms_f401 b where a.pyerbk=b.bankcd) where signdt>'20141024' ; 可以更新, 并且里面还有两条数据相同
update lz_cont a set (a.pyernm)=(select b.pybkna from sunfrs.befixsign b where a.pyerbk=b.pyerbk) where a.signdt<'20141024'; 不可以更新,里面也同样有相同的数据。
各位 请教下, 这种情况 是怎么造成的 ? 展开
update lz_cont a set (a.pyernm)=(select b.pybkna from sunfrs.befixsign b where a.pyerbk=b.pyerbk) where a.signdt<'20141024'; 不可以更新,里面也同样有相同的数据。
各位 请教下, 这种情况 是怎么造成的 ? 展开
2个回答
展开全部
单行子查询返回多于一个行
UPDATE LZ_CONT A
SET (A.PYERNM) =
(SELECT DISTINCT B.PYBKNA
FROM SUNFRS.BEFIXSIGN B
WHERE A.PYERBK = B.PYERBK)
WHERE A.SIGNDT < '20141024';
这样试试,加一个distinct,因为(SELECT DISTINCT B.PYBKNA
FROM SUNFRS.BEFIXSIGN B
WHERE A.PYERBK = B.PYERBK)这个结果集里反回了多行数据,应该是重复的(如果你的逻辑没错的话)加个distinct去重
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询