2009-05-26 97 views
1

的值更新列C I需要實現此與列A和列B

update [table] 
set [column c] = (select [column a] + ' ' + [column b] from [table]) 

但我得到這個錯誤信息

子查詢返回大於1倍的值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。

我如何能實現無意外的結果預期的效果:)

吉姆

回答

5

這很簡單:

update table 
set c = a + ' ' + b 

這將更新表中的所有行。

+0

Duh ...謝謝... :) – jim 2009-05-26 09:24:06

2

嘗試向子查詢添加WHERE子句,以便僅挑選出一行。

+0

感謝您的提示 – jim 2009-05-26 09:55:05

1

更新表SET c = a +''+ b; -------如果a,b,c是char/var char數據類型,

如果它們是數字數據類型,則會給出錯誤。 同時檢查C的長度,例如:如果C varchar2(30),varchar2(10)和b varchar2(15)它正確,如果右側值的長度更多,則會給出錯誤。

相關問題