根據(jù)條件返回指定值 ora01427單行子查詢返回多個行update set(a?
ora01427單行子查詢返回多個行update set(a?錯誤的意思就是你更新的時候指定更新的值是多個了,語句有問題,沒有明確指定table的哪行更新為table1的哪行,稍微改改就可以了upda
ora01427單行子查詢返回多個行update set(a?
錯誤的意思就是你更新的時候指定更新的值是多個了,語句有問題,沒有明確指定table的哪行更新為table1的哪行,稍微改改就可以了update table set(b,c)=(select b1,c1 from table1 where a = a1 )其中a要去掉,也就是將table中a對應(yīng)的b,c的值更新為table1中a1=a的列對應(yīng)的b,c的值。不過也應(yīng)注意,table1中a1應(yīng)當(dāng)?shù)闹祽?yīng)當(dāng)是唯一的,不然仍然會提示單行子查詢返回多個行。
單行子查詢返回多行是什么意思?
查詢語句,子查詢的結(jié)果是作為父查詢的一個列,所以也要求返回單行,當(dāng)子查詢出現(xiàn)多條返回記錄時,同樣會出現(xiàn)單行子查詢返回多個行的錯誤提示。
求UPDATE語句,現(xiàn)在單行子查詢返回多個行?
update B
set 對應(yīng)年限=(SELECT COUNT(*) FROM A where 姓名=b.姓名)
from B b
單行子查詢返回多個行?
這個錯誤是由于你的查詢結(jié)果有多行造成的,因?yàn)槟阋猧nto給變量a,所以只能查出一行,應(yīng)該在where條件處控制,確保查詢結(jié)果只有一樣數(shù)據(jù)。
這樣就不會報(bào)錯了。如果不能確定記錄為一行,可以這樣寫:select 字段1 into 變量a from 表a where 條件 and rownum = 1ORACLE執(zhí)行語句返回‘單行子查詢返回多個行’怎么解決?在線等?
這是你的條件有問題,而不是oracle的問題。改成這樣就可以了update A a set (a.txdz,a.dwmc,a.jhrxm,a.jhrzjhm,a.jhrsjhm,a.lxdh)=(select b.txdz,b.dwmc,b.jhrxm,b.jhrzjhm,b.jhrsjhm,b.lxdh from B b where a.dwbh=b.dwbh and rownum=1)where a.flag="05" and exists (select 1 from B b where a.dwbh=b.dwbh)但是修改結(jié)果是不是你想要的呢?