update userqx a 
set a.BUMEN =(select b.rowid  from bumen_lm b where instr(a.USERNAME, b.TITLE )>0 ) 
报错 ora-01427.
请问如何修改,可以解决这个 一对多的问题我试过单个数据可以更新。

解决方案 »

  1.   

    update userqx a 
    set a.BUMEN =(select b.rowid from bumen_lm b where instr(a.USERNAME, b.TITLE )>0 and rownum=1)  rowid不要硬编码啊,可能会改变,而且不同的版本rowid的规则不一样。
      

  2.   

    update userqx a  
    set a.BUMEN =(select max(b.rowid) from bumen_lm b where instr(a.USERNAME, b.TITLE )>0 )  
    其实只要取出唯一的rowid就行了吧。。
      

  3.   


    update userqx a  
    set a.BUMEN =(select b.rowid from bumen_lm b where instr(a.USERNAME, b.TITLE )>0 
    and rownum=1 ) 
    where exists(select 1 from bumen_lm c where instr(a.USERNAME, c.TITLE )>0