更新时,单行子查询返回多行

时间:2017-02-06 14:00:02

标签: oracle-sqldeveloper

更新查询时我得到此错误单行子查询返回多行这里是我的更新查询

UPDATE GT_POLICY GP SET (ERP_POLICY_NO,ERP_INSERT_DATE,ERP_CUSTOMER_ID) = (SELECT ERP.POLICY_NUMBER,ERP.ISSUE_DATE,ERP.MDM_ID FROM ERP_POLICY_DETAILS ERP WHERE GP.ALTERNATE_POLICY_NO=ERP.ALT_POL_NO AND ERP.ALT_POL_NO LIKE 'POL%') WHERE GP.ERP_POLICY_NO IS NULL AND GP.RECORD_STATUS='Y';

2 个答案:

答案 0 :(得分:0)

您是否尝试自行运行子查询以确定返回的行数?也许GP.ALTERNATE_POLICY_NO = ERP.ALT_POL_NO返回多行。

答案 1 :(得分:0)

感谢由于重复的alternate_policy_no的帮助,我遇到了上述问题,但在将下面的行查询工作正确后

UPDATE ERP_POLICY_DETAILS ERP SET (DUPLICATE_FLAG)=
(SELECT COUNT(1) FROM ERP_POLICY_DETAILS ERP1 WHERE ERP.ALT_POL_NO = ERP1.ALT_POL_NO AND ERP.ALT_POL_NO LIKE 'POL%'
  GROUP BY  ALT_POL_NO);