单行子查询返回多行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33223299/article/details/86010997

今天在做项目的时候,将备份back表中的数据更新到正式表中的时候,报了单行子查询返回多行的错误,后来仔细查看了备份表的子查询发现确实有多个TCX_WXQJXX_ID 的记录,所以ROWNUM<2 强制取了第一条,因为本来就是单条更新。

  UPDATE TCX_WXQJXX wx SET(TCX_SBLXZD_ID,WXQY,WXFW,DDID,XLID,XBPD,SSZD,XLZD,ZYSQZ,DELFLAG,WXLX,ZSID,GDLX,CREATEDATE,
        MODIFYDATE,CREATEUSER,MODIFYUSER)=(
        SELECT wxb.TCX_SBLXZD_ID,wxb.WXQY,wxb.WXFW,wxb.DDID,wxb.XLID,wxb.XBPD,wxb.SSZD,wxb.XLZD,wxb.ZYSQZ,
        wxb.DELFLAG,wxb.WXLX,wxb.ZSID,
        wxb.GDLX,wxb.CREATEDATE,SYSDATE,wxb.CREATEUSER,#{modifyuser} FROM TCX_WXQJXX_BACK WHERE  wx.TCX_WXQJXX_ID=wxb.TCX_WXQJXX_ID AND ROWNUM<2 )
        WHERE EXISTS (SELECT 1 FROM TCX_WXQJXX_BACK wxb WHERE wx.TCX_WXQJXX_ID=wxb.TCX_WXQJXX_ID AND wxb.TCX_WXQJXX_BACK_ID=#{tcxWxqjxxBackId}) 

猜你喜欢

转载自blog.csdn.net/qq_33223299/article/details/86010997